I've experimented with GeomFill_ConstrainedFilling to close the profile.
The function needs 3 or 4 BSplines for the filling to work. I have only one
closed
BSpline, so I used 'dummies' for the rest (degenerated Bounds). My
parameters must be wrong, since it segfaulted on me.
The GeomPlate module did create a surface, but the boundary does not
meet the profile. There's probably some problem with my parameters again.
Thanks for the help!
Balint
# -*- coding: utf-8 -*-
from OCC.Utils.DataExchange.STEP import *
from OCC.Utils.Topology import *
from OCC.BRepBuilderAPI import *
from OCC.GeomPlate import *
from OCC.BRepAdaptor import *
from OCC.BRepFill import *
from OCC.Display.SimpleGui import *
display, start_display, add_menu, add_function_to_menu = init_display()
# ================================================================
# STEP IMPORT
BladeImporter = STEPImporter("blade.stp")
BladeImporter.ReadFile()
shapeList = BladeImporter.GetShapes()
bladeSurface = shapeList[0]
# ================================================================
## GETTING BLADE EDGES + WIRES:
topoBlade = Topo(bladeSurface)
bladeFace = topoBlade.faces().next()
edges = []
for edge in topoBlade.edges_from_face(bladeFace):
edges.append(edge)
## Creating wires:
bladeShroudEdge = edges[2]
bladeHubEdge = edges[0]
bladeShroudEdge.Reverse()
bladeShroudWire = BRepBuilderAPI_MakeWire(bladeShroudEdge).Wire()
bladeHubWire = BRepBuilderAPI_MakeWire(bladeHubEdge).Wire()
# ================================================================
# GEOMPLATE:
bpSrf = GeomPlate_BuildPlateSurface(3,15,2)
# add curve constraints
for edg in WireExplorer(bladeShroudWire).ordered_edges():
c = BRepAdaptor_HCurve()
c.ChangeCurve().Initialize(edg)
constraint = BRepFill_CurveConstraint(c.GetHandle(), 0)
bpSrf.Add(constraint.GetHandle())
bpSrf.Perform()
maxSeg, maxDeg, critOrder = 9,8,0
tol = 1e-4
dmax = max([tol,10*bpSrf.G0Error()])
srf = bpSrf.Surface()
plate = GeomPlate_MakeApprox(srf, tol, maxSeg, maxDeg, dmax, critOrder)
uMin, uMax, vMin, vMax = srf.GetObject().Bounds()
face = BRepBuilderAPI_MakeFace(plate.Surface(), uMin, uMax, vMin, vMax)
face.Build()
display.DisplayShape(face.Shape())
display.DisplayShape(bladeSurface)
start_display()
# -*- coding: utf-8 -*-
from OCC.Utils.DataExchange.STEP import *
from OCC.Utils.Topology import *
from OCC.BRepBuilderAPI import *
from OCC.GeomPlate import *
from OCC.BRepAdaptor import *
from OCC.BRepFill import *
from OCC.GeomFill import *
from OCC.GeomAdaptor import *
import OCC.BRep
from OCC.GeomConvert import *
from OCC.Convert import *
from OCC.GeomFill import *
from OCC.Display.SimpleGui import *
display, start_display, add_menu, add_function_to_menu = init_display()
# ================================================================
# STEP IMPORT
BladeImporter = STEPImporter("blade.stp")
BladeImporter.ReadFile()
shapeList = BladeImporter.GetShapes()
bladeSurface = shapeList[0]
display.DisplayShape(bladeSurface)
# ================================================================
## GETTING BLADE EDGES + WIRES:
topoBlade = Topo(bladeSurface)
bladeFace = topoBlade.faces().next()
edges = []
for edge in topoBlade.edges_from_face(bladeFace):
edges.append(edge)
## Creating wires:
bladeShroudEdge = edges[2]
bladeHubEdge = edges[0]
bladeShroudEdge.Reverse()
bladeShroudWire = BRepBuilderAPI_MakeWire(bladeShroudEdge).Wire()
bladeHubWire = BRepBuilderAPI_MakeWire(bladeHubEdge).Wire()
# ================================================================
# CONSTRAINED FILLING:
breptool = OCC.BRep.BRep_Tool()
profileCurve = breptool.Curve(bladeHubEdge)
# Convert curve to bspline:
SPL = GeomConvert().CurveToBSplineCurve(profileCurve[0], Convert.Convert_TgtThetaOver2 )
spl1_adap_h = GeomAdaptor_HCurve(SPL).GetHandle()
b1 = GeomFill_SimpleBound(spl1_adap_h, 0.001, 0.001).GetHandle()
topoBladeHubEdge = Topo(bladeHubEdge)
v2 = topoBladeHubEdge.vertices().next()
pnt = breptool.Pnt(v2)
b2 = GeomFill_DegeneratedBound(pnt, 0, 0, 1e-4, 1e-4).GetHandle()
b3 = GeomFill_DegeneratedBound(pnt, 0, 0, 1e-4, 1e-4).GetHandle()
b4 = GeomFill_DegeneratedBound(pnt, 0, 0, 1e-4, 1e-4).GetHandle()
bConstrainedFilling = GeomFill_ConstrainedFilling(4, 2)
print 'line before segfault'
bConstrainedFilling.Init(b1,b2,b3,b4,False)
print 'line after segfault'
#bConstrainedFilling.Init(b1,b1,b1)
srf1 = bConstrainedFilling.Surface()
f = BRepBuilderAPI_MakeFace(srf1)
f.Build()
shp = f.Shape()
display.DisplayShape(shp)
start_display()
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2011-01-13T19:12:17',('Author'),(
'Open CASCADE'),'Open CASCADE STEP processor 6.3','Open CASCADE 6.3'
,'Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN_CC2 { 1 2 10303 214 -1 1 5 4 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('committee draft',
'automotive_design',1997,#2);
#2 = APPLICATION_CONTEXT(
'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('Open CASCADE STEP translator 6.3 1',
'Open CASCADE STEP translator 6.3 1','',(#8));
#8 = MECHANICAL_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#11,#15),#260);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = SHELL_BASED_SURFACE_MODEL('',(#16));
#16 = OPEN_SHELL('',(#17));
#17 = ADVANCED_FACE('',(#18),#54,.T.);
#18 = FACE_BOUND('',#19,.T.);
#19 = EDGE_LOOP('',(#20,#196,#221,#259));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#22,#24,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(146.74471462853,-8.999143038094,
66.127994934085));
#24 = SURFACE_CURVE('',#25,(#53),.PCURVE_S1.);
#25 = B_SPLINE_CURVE_WITH_KNOTS('',3,(#26,#27,#28,#29,#30,#31,#32,#33,
#34,#35,#36,#37,#38,#39,#40,#41,#42,#43,#44,#45,#46,#47,#48,#49,#50,
#51,#52),.UNSPECIFIED.,.T.,.F.,(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1),(-0.215502973977,-9.843871762901E-02,
-4.263842248014E-02,0.,2.866291534073E-02,3.261685760483E-02,
3.440087514756E-02,3.586670224837E-02,3.951230614804E-02,
6.428686351738E-02,0.106206559252,0.160639073164,0.264481636668,
0.373596067319,0.428573006287,0.471012683125,0.497756566489,
0.502417893503,0.506126446405,0.509493612716,0.51387729366,
0.536424517936,0.576904795353,0.627982071603,0.715695275728,
0.832759532076,0.888559827225,0.931198249705,0.959861165046,
0.96381510731,0.965599124852),.UNSPECIFIED.);
#26 = CARTESIAN_POINT('',(146.73798,-8.93428887,65.9341493));
#27 = CARTESIAN_POINT('',(146.750893,-9.01077414,66.2523187));
#28 = CARTESIAN_POINT('',(146.736113,-8.99691031,65.9705159));
#29 = CARTESIAN_POINT('',(146.684738,-8.90136691,64.934423));
#30 = CARTESIAN_POINT('',(146.563697,-8.64340542,62.4730867));
#31 = CARTESIAN_POINT('',(146.358162,-8.16343999,58.2469739));
#32 = CARTESIAN_POINT('',(146.027678,-7.13210923,51.290075));
#33 = CARTESIAN_POINT('',(145.637343,-4.69198162,42.1474982));
#34 = CARTESIAN_POINT('',(145.265582,-0.138604128,33.8020908));
#35 = CARTESIAN_POINT('',(144.868911,4.43171859,28.1700574));
#36 = CARTESIAN_POINT('',(144.567137,7.48586694,25.0877459));
#37 = CARTESIAN_POINT('',(144.353442,9.46261759,23.4281757));
#38 = CARTESIAN_POINT('',(144.244531,10.5366752,22.8471613));
#39 = CARTESIAN_POINT('',(144.212029,10.9921387,22.8767242));
#40 = CARTESIAN_POINT('',(144.225425,11.1227282,23.302347));
#41 = CARTESIAN_POINT('',(144.306333,10.7969691,24.3055499));
#42 = CARTESIAN_POINT('',(144.50206,9.67369689,26.3559343));
#43 = CARTESIAN_POINT('',(144.813091,7.719608,29.7854437));
#44 = CARTESIAN_POINT('',(145.248782,4.72663837,35.219855));
#45 = CARTESIAN_POINT('',(145.773141,0.574096919,43.0392364));
#46 = CARTESIAN_POINT('',(146.159254,-3.65387474,51.0478488));
#47 = CARTESIAN_POINT('',(146.422919,-6.63615447,57.9755314));
#48 = CARTESIAN_POINT('',(146.584118,-8.04078654,62.1966374));
#49 = CARTESIAN_POINT('',(146.689177,-8.68250597,64.7790178));
#50 = CARTESIAN_POINT('',(146.73798,-8.93428887,65.9341493));
#51 = CARTESIAN_POINT('',(146.750893,-9.01077414,66.2523187));
#52 = CARTESIAN_POINT('',(146.736113,-8.99691031,65.9705159));
#53 = PCURVE('',#54,#190);
#54 = B_SPLINE_SURFACE_WITH_KNOTS('',2,3,(
(#55,#56,#57,#58,#59,#60,#61,#62,#63,#64,#65,#66,#67,#68,#69,#70,#71
,#72,#73,#74,#75,#76,#77,#78,#79,#80,#81)
,(#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#94,#95,#96,#97
,#98,#99,#100,#101,#102,#103,#104,#105,#106,#107,#108)
,(#109,#110,#111,#112,#113,#114,#115,#116,#117,#118,#119,#120,#121
,#122,#123,#124,#125,#126,#127,#128,#129,#130,#131,#132,#133,#134
,#135)
,(#136,#137,#138,#139,#140,#141,#142,#143,#144,#145,#146,#147,#148
,#149,#150,#151,#152,#153,#154,#155,#156,#157,#158,#159,#160,#161
,#162)
,(#163,#164,#165,#166,#167,#168,#169,#170,#171,#172,#173,#174,#175
,#176,#177,#178,#179,#180,#181,#182,#183,#184,#185,#186,#187,#188
,#189
)),.UNSPECIFIED.,.F.,.F.,.F.,(3,1,1,3),(1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),(0.,0.37480299,0.62457538,1.),(
-0.215502973977,-9.843871762901E-02,-4.263842248014E-02,0.,
2.866291534073E-02,3.261685760483E-02,3.440087514756E-02,
3.586670224837E-02,3.951230614804E-02,6.428686351738E-02,
0.106206559252,0.160639073164,0.264481636668,0.373596067319,
0.428573006287,0.471012683125,0.497756566489,0.502417893503,
0.506126446405,0.509493612716,0.51387729366,0.536424517936,
0.576904795353,0.627982071603,0.715695275728,0.832759532076,
0.888559827225,0.931198249705,0.959861165046,0.96381510731,
0.965599124852),.UNSPECIFIED.);
#55 = CARTESIAN_POINT('',(146.73798,-8.93428887,65.9341493));
#56 = CARTESIAN_POINT('',(146.750893,-9.01077414,66.2523187));
#57 = CARTESIAN_POINT('',(146.736113,-8.99691031,65.9705159));
#58 = CARTESIAN_POINT('',(146.684738,-8.90136691,64.934423));
#59 = CARTESIAN_POINT('',(146.563697,-8.64340542,62.4730867));
#60 = CARTESIAN_POINT('',(146.358162,-8.16343999,58.2469739));
#61 = CARTESIAN_POINT('',(146.027678,-7.13210923,51.290075));
#62 = CARTESIAN_POINT('',(145.637343,-4.69198162,42.1474982));
#63 = CARTESIAN_POINT('',(145.265582,-0.138604128,33.8020908));
#64 = CARTESIAN_POINT('',(144.868911,4.43171859,28.1700574));
#65 = CARTESIAN_POINT('',(144.567137,7.48586694,25.0877459));
#66 = CARTESIAN_POINT('',(144.353442,9.46261759,23.4281757));
#67 = CARTESIAN_POINT('',(144.244531,10.5366752,22.8471613));
#68 = CARTESIAN_POINT('',(144.212029,10.9921387,22.8767242));
#69 = CARTESIAN_POINT('',(144.225425,11.1227282,23.302347));
#70 = CARTESIAN_POINT('',(144.306333,10.7969691,24.3055499));
#71 = CARTESIAN_POINT('',(144.50206,9.67369689,26.3559343));
#72 = CARTESIAN_POINT('',(144.813091,7.719608,29.7854437));
#73 = CARTESIAN_POINT('',(145.248782,4.72663837,35.219855));
#74 = CARTESIAN_POINT('',(145.773141,0.574096919,43.0392364));
#75 = CARTESIAN_POINT('',(146.159254,-3.65387474,51.0478488));
#76 = CARTESIAN_POINT('',(146.422919,-6.63615447,57.9755314));
#77 = CARTESIAN_POINT('',(146.584118,-8.04078654,62.1966374));
#78 = CARTESIAN_POINT('',(146.689177,-8.68250597,64.7790178));
#79 = CARTESIAN_POINT('',(146.73798,-8.93428887,65.9341493));
#80 = CARTESIAN_POINT('',(146.750893,-9.01077414,66.2523187));
#81 = CARTESIAN_POINT('',(146.736113,-8.99691031,65.9705159));
#82 = CARTESIAN_POINT('',(157.392424,-11.4886904,65.4959953));
#83 = CARTESIAN_POINT('',(157.398074,-11.6043272,65.8085106));
#84 = CARTESIAN_POINT('',(157.388608,-11.5567178,65.5251287));
#85 = CARTESIAN_POINT('',(157.357624,-11.3369797,64.4888772));
#86 = CARTESIAN_POINT('',(157.284467,-10.7897929,62.0296086));
#87 = CARTESIAN_POINT('',(157.157169,-9.83804757,57.8087975));
#88 = CARTESIAN_POINT('',(156.948289,-8.08102624,50.8804243));
#89 = CARTESIAN_POINT('',(156.701857,-4.7950814,41.8700404));
#90 = CARTESIAN_POINT('',(156.425106,0.405760825,33.7740687));
#91 = CARTESIAN_POINT('',(156.071107,5.36697803,28.3445324));
#92 = CARTESIAN_POINT('',(155.786907,8.62473839,25.3798745));
#93 = CARTESIAN_POINT('',(155.580245,10.7094973,23.7884609));
#94 = CARTESIAN_POINT('',(155.472894,11.8279624,23.247202));
#95 = CARTESIAN_POINT('',(155.439268,12.2912974,23.2985166));
#96 = CARTESIAN_POINT('',(155.449774,12.4074772,23.7385465));
#97 = CARTESIAN_POINT('',(155.525134,12.0338052,24.7466884));
#98 = CARTESIAN_POINT('',(155.710038,10.7981568,26.7837919));
#99 = CARTESIAN_POINT('',(156.001304,8.63370736,30.1778373));
#100 = CARTESIAN_POINT('',(156.399217,5.26375956,35.5370542));
#101 = CARTESIAN_POINT('',(156.850695,0.476262531,43.2109441));
#102 = CARTESIAN_POINT('',(157.120276,-4.52090695,50.9864246));
#103 = CARTESIAN_POINT('',(157.249516,-8.25278894,57.7040485));
#104 = CARTESIAN_POINT('',(157.320895,-10.1442573,61.8213946));
#105 = CARTESIAN_POINT('',(157.369238,-11.0957322,64.3580315));
#106 = CARTESIAN_POINT('',(157.392424,-11.4886904,65.4959953));
#107 = CARTESIAN_POINT('',(157.398074,-11.6043272,65.8085106));
#108 = CARTESIAN_POINT('',(157.388608,-11.5567178,65.5251287));
#109 = CARTESIAN_POINT('',(175.239324,-14.6914313,63.9122464));
#110 = CARTESIAN_POINT('',(175.233403,-14.8554969,64.2015602));
#111 = CARTESIAN_POINT('',(175.233656,-14.7634371,63.9296818));
#112 = CARTESIAN_POINT('',(175.23859,-14.3823259,62.9431073));
#113 = CARTESIAN_POINT('',(175.248395,-13.4592502,60.6021013));
#114 = CARTESIAN_POINT('',(175.253125,-11.8912424,56.5741703));
#115 = CARTESIAN_POINT('',(175.240351,-9.18786481,49.9646345));
#116 = CARTESIAN_POINT('',(175.206171,-4.82245331,41.4497699));
#117 = CARTESIAN_POINT('',(175.06697,1.16634559,33.938654));
#118 = CARTESIAN_POINT('',(174.786581,6.58433072,28.9438313));
#119 = CARTESIAN_POINT('',(174.539451,10.073066,26.2258174));
#120 = CARTESIAN_POINT('',(174.352161,12.2762688,24.7748634));
#121 = CARTESIAN_POINT('',(174.251574,13.4374983,24.3069714));
#122 = CARTESIAN_POINT('',(174.217414,13.9015003,24.390512));
#123 = CARTESIAN_POINT('',(174.222645,13.991102,24.8425159));
#124 = CARTESIAN_POINT('',(174.285617,13.5494117,25.8346025));
#125 = CARTESIAN_POINT('',(174.44504,12.1656509,27.8029103));
#126 = CARTESIAN_POINT('',(174.692285,9.72845026,31.0591274));
#127 = CARTESIAN_POINT('',(175.014904,5.87497026,36.1647753));
#128 = CARTESIAN_POINT('',(175.338208,0.284309218,43.3967957));
#129 = CARTESIAN_POINT('',(175.430836,-5.65697035,50.5646908));
#130 = CARTESIAN_POINT('',(175.363031,-10.2987266,56.7123599));
#131 = CARTESIAN_POINT('',(175.298778,-12.7863932,60.5008732));
#132 = CARTESIAN_POINT('',(175.257554,-14.1223483,62.8536109));
#133 = CARTESIAN_POINT('',(175.239324,-14.6914313,63.9122464));
#134 = CARTESIAN_POINT('',(175.233403,-14.8554969,64.2015602));
#135 = CARTESIAN_POINT('',(175.233656,-14.7634371,63.9296818));
#136 = CARTESIAN_POINT('',(193.270083,-16.0375406,61.647163));
#137 = CARTESIAN_POINT('',(193.256955,-16.2238108,61.9052498));
#138 = CARTESIAN_POINT('',(193.264206,-16.1080874,61.6559871));
#139 = CARTESIAN_POINT('',(193.294209,-15.6436552,60.756585));
#140 = CARTESIAN_POINT('',(193.362145,-14.5276657,58.6217497));
#141 = CARTESIAN_POINT('',(193.4614,-12.6436934,54.9377737));
#142 = CARTESIAN_POINT('',(193.592234,-9.46549761,48.8859634));
#143 = CARTESIAN_POINT('',(193.717142,-4.6133999,41.1281771));
#144 = CARTESIAN_POINT('',(193.699693,1.61054523,34.3693587));
#145 = CARTESIAN_POINT('',(193.511711,7.08404742,29.9040715));
#146 = CARTESIAN_POINT('',(193.324001,10.5701532,27.4812844));
#147 = CARTESIAN_POINT('',(193.174514,12.7548134,26.1944357));
#148 = CARTESIAN_POINT('',(193.090757,13.8926925,25.7990343));
#149 = CARTESIAN_POINT('',(193.059544,14.3355847,25.9010681));
#150 = CARTESIAN_POINT('',(193.059015,14.4018865,26.3404288));
#151 = CARTESIAN_POINT('',(193.103347,13.9319408,27.2752648));
#152 = CARTESIAN_POINT('',(193.221603,12.5072318,29.1041139));
#153 = CARTESIAN_POINT('',(193.401597,9.99328634,32.1122501));
#154 = CARTESIAN_POINT('',(193.622721,5.9901016,36.8014455));
#155 = CARTESIAN_POINT('',(193.805455,0.12841414,43.3812684));
#156 = CARTESIAN_POINT('',(193.758205,-6.13973828,49.780033));
#157 = CARTESIAN_POINT('',(193.562212,-11.1332206,55.2279284));
#158 = CARTESIAN_POINT('',(193.41262,-13.8744719,58.5960573));
#159 = CARTESIAN_POINT('',(193.314688,-15.3860689,60.6991034));
#160 = CARTESIAN_POINT('',(193.270083,-16.0375406,61.647163));
#161 = CARTESIAN_POINT('',(193.256955,-16.2238108,61.9052498));
#162 = CARTESIAN_POINT('',(193.264206,-16.1080874,61.6559871));
#163 = CARTESIAN_POINT('',(204.163855,-16.2440303,60.0490368));
#164 = CARTESIAN_POINT('',(204.14851,-16.4351828,60.2857385));
#165 = CARTESIAN_POINT('',(204.158385,-16.3119375,60.0537114));
#166 = CARTESIAN_POINT('',(204.197449,-15.8225854,59.2189529));
#167 = CARTESIAN_POINT('',(204.286551,-14.6496685,57.23689));
#168 = CARTESIAN_POINT('',(204.421323,-12.672746,53.8096911));
#169 = CARTESIAN_POINT('',(204.607877,-9.36167578,48.1732275));
#170 = CARTESIAN_POINT('',(204.796498,-4.40972822,40.9606395));
#171 = CARTESIAN_POINT('',(204.83452,1.77326463,34.7152838));
#172 = CARTESIAN_POINT('',(204.696823,7.14576033,30.6047256));
#173 = CARTESIAN_POINT('',(204.544204,10.5512328,28.3785769));
#174 = CARTESIAN_POINT('',(204.418138,12.6779825,27.2000215));
#175 = CARTESIAN_POINT('',(204.34515,13.7790939,26.8486443));
#176 = CARTESIAN_POINT('',(204.316076,14.2017394,26.9573365));
#177 = CARTESIAN_POINT('',(204.312276,14.2550386,27.380644));
#178 = CARTESIAN_POINT('',(204.345349,13.7815725,28.2665284));
#179 = CARTESIAN_POINT('',(204.438575,12.3686063,29.9862647));
#180 = CARTESIAN_POINT('',(204.578511,9.87461549,32.8057332));
#181 = CARTESIAN_POINT('',(204.741873,5.89302845,37.1862905));
#182 = CARTESIAN_POINT('',(204.851906,4.46299327E-02,43.2991342));
#183 = CARTESIAN_POINT('',(204.747323,-6.21760102,49.1783942));
#184 = CARTESIAN_POINT('',(204.509118,-11.2409006,54.1612072));
#185 = CARTESIAN_POINT('',(204.332738,-14.0235865,57.2461997));
#186 = CARTESIAN_POINT('',(204.216862,-15.573287,59.1776076));
#187 = CARTESIAN_POINT('',(204.163855,-16.2440303,60.0490368));
#188 = CARTESIAN_POINT('',(204.14851,-16.4351828,60.2857385));
#189 = CARTESIAN_POINT('',(204.158385,-16.3119375,60.0537114));
#190 = DEFINITIONAL_REPRESENTATION('',(#191),#195);
#191 = LINE('',#192,#193);
#192 = CARTESIAN_POINT('',(0.,0.));
#193 = VECTOR('',#194,1.);
#194 = DIRECTION('',(0.,1.));
#195 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#196 = ORIENTED_EDGE('',*,*,#197,.T.);
#197 = EDGE_CURVE('',#22,#198,#200,.T.);
#198 = VERTEX_POINT('',#199);
#199 = CARTESIAN_POINT('',(204.15324693789,-16.37609602964,
60.185665137894));
#200 = SEAM_CURVE('',#201,(#207,#214),.PCURVE_S1.);
#201 = B_SPLINE_CURVE_WITH_KNOTS('',2,(#202,#203,#204,#205,#206),
.UNSPECIFIED.,.F.,.F.,(3,1,1,3),(0.,0.37480299,0.62457538,1.),
.UNSPECIFIED.);
#202 = CARTESIAN_POINT('',(146.74471462853,-8.999143038094,
66.127994934085));
#203 = CARTESIAN_POINT('',(157.39435453955,-11.57771317869,
65.684164377806));
#204 = CARTESIAN_POINT('',(175.23402548961,-14.80943192958,
64.083214913499));
#205 = CARTESIAN_POINT('',(193.26060189494,-16.16771519643,
61.797398024301));
#206 = CARTESIAN_POINT('',(204.15324693789,-16.37609602964,
60.185665137894));
#207 = PCURVE('',#54,#208);
#208 = DEFINITIONAL_REPRESENTATION('',(#209),#213);
#209 = LINE('',#210,#211);
#210 = CARTESIAN_POINT('',(0.,0.));
#211 = VECTOR('',#212,1.);
#212 = DIRECTION('',(1.,0.));
#213 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#214 = PCURVE('',#54,#215);
#215 = DEFINITIONAL_REPRESENTATION('',(#216),#220);
#216 = LINE('',#217,#218);
#217 = CARTESIAN_POINT('',(0.,0.931198249705));
#218 = VECTOR('',#219,1.);
#219 = DIRECTION('',(1.,0.));
#220 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#221 = ORIENTED_EDGE('',*,*,#222,.T.);
#222 = EDGE_CURVE('',#198,#198,#223,.T.);
#223 = SURFACE_CURVE('',#224,(#252),.PCURVE_S1.);
#224 = B_SPLINE_CURVE_WITH_KNOTS('',3,(#225,#226,#227,#228,#229,#230,
#231,#232,#233,#234,#235,#236,#237,#238,#239,#240,#241,#242,#243,
#244,#245,#246,#247,#248,#249,#250,#251),.UNSPECIFIED.,.T.,.F.,(1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),(
-0.215502973977,-9.843871762901E-02,-4.263842248014E-02,0.,
2.866291534073E-02,3.261685760483E-02,3.440087514756E-02,
3.586670224837E-02,3.951230614804E-02,6.428686351738E-02,
0.106206559252,0.160639073164,0.264481636668,0.373596067319,
0.428573006287,0.471012683125,0.497756566489,0.502417893503,
0.506126446405,0.509493612716,0.51387729366,0.536424517936,
0.576904795353,0.627982071603,0.715695275728,0.832759532076,
0.888559827225,0.931198249705,0.959861165046,0.96381510731,
0.965599124852),.UNSPECIFIED.);
#225 = CARTESIAN_POINT('',(204.163855,-16.2440303,60.0490368));
#226 = CARTESIAN_POINT('',(204.14851,-16.4351828,60.2857385));
#227 = CARTESIAN_POINT('',(204.158385,-16.3119375,60.0537114));
#228 = CARTESIAN_POINT('',(204.197449,-15.8225854,59.2189529));
#229 = CARTESIAN_POINT('',(204.286551,-14.6496685,57.23689));
#230 = CARTESIAN_POINT('',(204.421323,-12.672746,53.8096911));
#231 = CARTESIAN_POINT('',(204.607877,-9.36167578,48.1732275));
#232 = CARTESIAN_POINT('',(204.796498,-4.40972822,40.9606395));
#233 = CARTESIAN_POINT('',(204.83452,1.77326463,34.7152838));
#234 = CARTESIAN_POINT('',(204.696823,7.14576033,30.6047256));
#235 = CARTESIAN_POINT('',(204.544204,10.5512328,28.3785769));
#236 = CARTESIAN_POINT('',(204.418138,12.6779825,27.2000215));
#237 = CARTESIAN_POINT('',(204.34515,13.7790939,26.8486443));
#238 = CARTESIAN_POINT('',(204.316076,14.2017394,26.9573365));
#239 = CARTESIAN_POINT('',(204.312276,14.2550386,27.380644));
#240 = CARTESIAN_POINT('',(204.345349,13.7815725,28.2665284));
#241 = CARTESIAN_POINT('',(204.438575,12.3686063,29.9862647));
#242 = CARTESIAN_POINT('',(204.578511,9.87461549,32.8057332));
#243 = CARTESIAN_POINT('',(204.741873,5.89302845,37.1862905));
#244 = CARTESIAN_POINT('',(204.851906,4.46299327E-02,43.2991342));
#245 = CARTESIAN_POINT('',(204.747323,-6.21760102,49.1783942));
#246 = CARTESIAN_POINT('',(204.509118,-11.2409006,54.1612072));
#247 = CARTESIAN_POINT('',(204.332738,-14.0235865,57.2461997));
#248 = CARTESIAN_POINT('',(204.216862,-15.573287,59.1776076));
#249 = CARTESIAN_POINT('',(204.163855,-16.2440303,60.0490368));
#250 = CARTESIAN_POINT('',(204.14851,-16.4351828,60.2857385));
#251 = CARTESIAN_POINT('',(204.158385,-16.3119375,60.0537114));
#252 = PCURVE('',#54,#253);
#253 = DEFINITIONAL_REPRESENTATION('',(#254),#258);
#254 = LINE('',#255,#256);
#255 = CARTESIAN_POINT('',(1.,0.));
#256 = VECTOR('',#257,1.);
#257 = DIRECTION('',(0.,1.));
#258 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
) );
#259 = ORIENTED_EDGE('',*,*,#197,.F.);
#260 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#264)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#261,#262,#263)) REPRESENTATION_CONTEXT('Context #1',
'3D Context with UNIT and UNCERTAINTY') );
#261 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#262 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#263 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#264 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#261,
'distance_accuracy_value','confusion accuracy');
#265 = PRODUCT_TYPE('part',$,(#7));
ENDSEC;
END-ISO-10303-21;
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users