Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
58,201 additions
and
1 deletion.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,220 @@ | ||
ISO-10303-21; | ||
HEADER; | ||
FILE_DESCRIPTION(('STEP conformance test data','AP203 class 6 - advanced brep'),'1'); | ||
FILE_NAME('gasket1.p21','1994-12-14 T10:00:00', | ||
('S. Dhar','S. Jetli','M. McFarland','J. Kindrick'), | ||
('Industrial Technology Institute', | ||
'P.O. Box 1485', | ||
'Ann Arbor', | ||
'Michigan', | ||
'48106'),'NIST Data Probe, Release March 1993','conformance test suite','K. H. Muralidhar'); | ||
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN')); | ||
ENDSEC; | ||
DATA; | ||
#1=PRODUCT('11113','Flat Ring Gasket','Description for part 11113',(#2)); | ||
#2=MECHANICAL_CONTEXT('detailed design',#3,'mechanical'); | ||
#3=APPLICATION_CONTEXT('Control the configuration of three dimensional design'); | ||
#300=APPLICATION_PROTOCOL_DEFINITION('AP definition status','config_control_design', 1994, #3); | ||
#4=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#5,#8,(#1)); | ||
#5=PERSON_AND_ORGANIZATION(#6,#7); | ||
#6=PERSON('307-10-5806','Muralidhar','K.',('H.'),$,$); | ||
#7=ORGANIZATION('ITI-Michigan','Industrial Technology Institute','A not-for-profit engineering and research center'); | ||
#8=PERSON_AND_ORGANIZATION_ROLE('design_owner'); | ||
#9=PRODUCT_RELATED_PRODUCT_CATEGORY('detail','Part Type for product 11113',(#1)); | ||
#10=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('A','Description of version with specified source for part 11113',#1,.BOUGHT.); | ||
#11=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#15,(#10)); | ||
#13=PERSON_AND_ORGANIZATION(#14,#7); | ||
#14=PERSON('302-30-6149','Quadir','Nur',$,$,$); | ||
#15=PERSON_AND_ORGANIZATION_ROLE('creator'); | ||
#44=CC_DESIGN_APPROVAL(#45,(#10)); | ||
#45=APPROVAL(#46,'Approved as initial STEP test case part'); | ||
#46=APPROVAL_STATUS('approved'); | ||
#47=APPROVAL_DATE_TIME(#48,#45); | ||
#48=DATE_AND_TIME(#50,#51); | ||
#50=CALENDAR_DATE(1993,17,7); | ||
#51=LOCAL_TIME(13,29,52.0,#29); | ||
#69=APPROVAL_PERSON_ORGANIZATION(#70,#45,#72); | ||
#70=PERSON_AND_ORGANIZATION(#71,#7); | ||
#71=PERSON('574-20-7069','Kindrick','James',$,$,$); | ||
#72=APPROVAL_ROLE('Authorize part release'); | ||
#31=CC_DESIGN_SECURITY_CLASSIFICATION(#32,(#10)); | ||
#32=SECURITY_CLASSIFICATION('1993-C1','open availability of STEP test data',#33); | ||
#33=SECURITY_CLASSIFICATION_LEVEL('unclassified'); | ||
#34=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#35,#39,(#32)); | ||
#35=DATE_AND_TIME(#36,#37); | ||
#36=CALENDAR_DATE(1993,17,7); | ||
#37=LOCAL_TIME(13,45,20.0,#29); | ||
#39=DATE_TIME_ROLE('classification_date'); | ||
#40=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#41,#43,(#32)); | ||
#41=PERSON_AND_ORGANIZATION(#42,#7); | ||
#42=PERSON('412-89-3456','Dhar','Shantanu',$,('Mr.'),$); | ||
#43=PERSON_AND_ORGANIZATION_ROLE('classification_officer'); | ||
#53=CC_DESIGN_APPROVAL(#54,(#32)); | ||
#54=APPROVAL(#55,'Approved as unclassified step test data'); | ||
#55=APPROVAL_STATUS('approved'); | ||
#56=APPROVAL_DATE_TIME(#57,#54); | ||
#57=DATE_AND_TIME(#58,#59); | ||
#58=CALENDAR_DATE(1993,17,7); | ||
#59=LOCAL_TIME(13,47,28.0,#29); | ||
#73=APPROVAL_PERSON_ORGANIZATION(#74,#54,#76); | ||
#74=PERSON_AND_ORGANIZATION(#75,#7); | ||
#75=PERSON('525-94-5792','Matthews','Robert',('S.'),$,$); | ||
#76=APPROVAL_ROLE('Authorize the security code'); | ||
#17=PRODUCT_DEFINITION('D1','Detailed drawing as planned for conformance testing',#10,#18); | ||
#18=DESIGN_CONTEXT('detailed design',#3,'design'); | ||
#19=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#13,#23,(#17)); | ||
#23=PERSON_AND_ORGANIZATION_ROLE('creator'); | ||
#24=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#25,#30,(#17)); | ||
#25=DATE_AND_TIME(#27,#28); | ||
#27=CALENDAR_DATE(1993,19,7); | ||
#28=LOCAL_TIME(19,46,55.0,#29); | ||
#29=COORDINATED_UNIVERSAL_TIME_OFFSET(8,$,.BEHIND.); | ||
#30=DATE_TIME_ROLE('creation_date'); | ||
#61=CC_DESIGN_APPROVAL(#62,(#17)); | ||
#62=APPROVAL(#63,'Approved as STEP conformance testing drawing'); | ||
#63=APPROVAL_STATUS('approved'); | ||
#64=APPROVAL_DATE_TIME(#65,#62); | ||
#65=DATE_AND_TIME(#66,#67); | ||
#66=CALENDAR_DATE(1993,19,7); | ||
#67=LOCAL_TIME(19,47,51.0,#29); | ||
#77=APPROVAL_PERSON_ORGANIZATION(#70,#62,#79); | ||
#79=APPROVAL_ROLE('Authorize product definition'); | ||
#80=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#81,#84,(#10,#1010)); | ||
#81=PERSON_AND_ORGANIZATION(#82,#83); | ||
#82=PERSON('CDI-2','Dwaraka','B.',('K.'),$,$); | ||
#83=ORGANIZATION('CDI','Contract Design, Inc.','Contract engineering organization.'); | ||
#84=PERSON_AND_ORGANIZATION_ROLE('design_supplier'); | ||
#88=SUPPLIED_PART_RELATIONSHIP('design','design supplier','The supplier provides detailed designs',#17,#1017); | ||
#85=CC_DESIGN_CERTIFICATION(#86,(#88)); | ||
#86=CERTIFICATION('ISO-9000 certified design supplier','quality control',#87); | ||
#87=CERTIFICATION_TYPE('design_supplier'); | ||
#89=CC_DESIGN_APPROVAL(#90,(#86)); | ||
#90=APPROVAL(#91,'Approved as ISO-9000 certified supplier'); | ||
#91=APPROVAL_STATUS('approved'); | ||
#92=APPROVAL_PERSON_ORGANIZATION(#70,#90,#93); | ||
#93=APPROVAL_ROLE('Authorize supplier certification'); | ||
#94=DATE_AND_TIME(#95,#96); | ||
#95=CALENDAR_DATE(1993,20,4); | ||
#96=LOCAL_TIME(15,47,51.0,#29); | ||
#97=APPROVAL_DATE_TIME(#94,#90); | ||
#98=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#100,#102,(#86)); | ||
#99=CALENDAR_DATE(1993,19,4); | ||
#100=DATE_AND_TIME(#99,#101); | ||
#101=LOCAL_TIME(10,41,59.0,#29); | ||
#102=DATE_TIME_ROLE('certification_date'); | ||
#1010=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('S-1','For Flat Ring Gasket',#1,.MADE.); | ||
#1011=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1016,(#1010)); | ||
#1013=PERSON_AND_ORGANIZATION(#1014,#83); | ||
#1014=PERSON('CDI-1','Brandenberg','Chad',$,$,$); | ||
#1016=PERSON_AND_ORGANIZATION_ROLE('creator'); | ||
#1044=CC_DESIGN_APPROVAL(#1045,(#1010)); | ||
#1045=APPROVAL(#1046,'Approved as test part design'); | ||
#1046=APPROVAL_STATUS('approved'); | ||
#1047=APPROVAL_DATE_TIME(#1048,#1045); | ||
#1048=DATE_AND_TIME(#1050,#1051); | ||
#1050=CALENDAR_DATE(1993,19,7); | ||
#1051=LOCAL_TIME(19,51,59.0,#29); | ||
#1069=APPROVAL_PERSON_ORGANIZATION(#1070,#1045,#1072); | ||
#1070=PERSON_AND_ORGANIZATION(#82,#83); | ||
#1072=APPROVAL_ROLE('Authorize part version'); | ||
#1031=CC_DESIGN_SECURITY_CLASSIFICATION(#1032,(#1010)); | ||
#1032=SECURITY_CLASSIFICATION('1993-C2','open availability of test part designs',#1033); | ||
#1033=SECURITY_CLASSIFICATION_LEVEL('unclassified'); | ||
#1034=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1035,#1039,(#1032)); | ||
#1035=DATE_AND_TIME(#1036,#1037); | ||
#1036=CALENDAR_DATE(1993,19,7); | ||
#1037=LOCAL_TIME(19,45,41.0,#29); | ||
#1039=DATE_TIME_ROLE('classification_date'); | ||
#1040=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1041,#1043,(#1032)); | ||
#1041=PERSON_AND_ORGANIZATION(#1042,#83); | ||
#1042=PERSON('CDI-3','Sauter','Mitch',$,$,$); | ||
#1043=PERSON_AND_ORGANIZATION_ROLE('classification_officer'); | ||
#1053=CC_DESIGN_APPROVAL(#1054,(#1032)); | ||
#1054=APPROVAL(#1055,'Approved as unclassified part design'); | ||
#1055=APPROVAL_STATUS('approved'); | ||
#1056=APPROVAL_DATE_TIME(#1057,#1054); | ||
#1057=DATE_AND_TIME(#1058,#1059); | ||
#1058=CALENDAR_DATE(1993,19,7); | ||
#1059=LOCAL_TIME(19,47,58.0,#29); | ||
#1073=APPROVAL_PERSON_ORGANIZATION(#81,#1054,#1076); | ||
#1076=APPROVAL_ROLE('Authorize the security code'); | ||
#1017=PRODUCT_DEFINITION('D2','Description of product for part 11113',#1010,#1018); | ||
#1018=DESIGN_CONTEXT('detailed design',#3,'design'); | ||
#1019=CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT(#1013,#1023,(#1017)); | ||
#1023=PERSON_AND_ORGANIZATION_ROLE('creator'); | ||
#1024=CC_DESIGN_DATE_AND_TIME_ASSIGNMENT(#1025,#1030,(#1017)); | ||
#1025=DATE_AND_TIME(#1027,#1028); | ||
#1027=CALENDAR_DATE(1993,18,7); | ||
#1028=LOCAL_TIME(10,51,59.0,#29); | ||
#1030=DATE_TIME_ROLE('creation_date'); | ||
#1061=CC_DESIGN_APPROVAL(#1062,(#1017)); | ||
#1062=APPROVAL(#1063,'Approved as detailed drawing'); | ||
#1063=APPROVAL_STATUS('approved'); | ||
#1064=APPROVAL_DATE_TIME(#1065,#1062); | ||
#1065=DATE_AND_TIME(#1066,#1067); | ||
#1066=CALENDAR_DATE(1993,19,7); | ||
#1067=LOCAL_TIME(19,51,59.0,#29); | ||
#1077=APPROVAL_PERSON_ORGANIZATION(#81,#1062,#1079); | ||
#1079=APPROVAL_ROLE('Authorize product definition'); | ||
|
||
#1080=SHAPE_DEFINITION_REPRESENTATION(#1081,#9240); | ||
#1081=PRODUCT_DEFINITION_SHAPE('ABR_Shape','Shape of Flat Ring Gasket',#17); | ||
#9040 =(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); | ||
#9041 =(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); | ||
#9042 =(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT()); | ||
#9043 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000001),#9040); | ||
#9100 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0)); | ||
#9101 = DIRECTION('Dir1',(1.0,0.0,0.0)); | ||
#9103 = DIRECTION('Dir3',(0.0,0.0,1.0)); | ||
#9120 = AXIS2_PLACEMENT_3D('Ax2P3D1',#9100,#9103,#9101); | ||
#9121 = PLANE('Plane1',#9120); | ||
#9122 = CIRCLE('Circ1',#9120,30.0); | ||
#9123 = CARTESIAN_POINT('CartPt2',(30.0,0.0,0.0)); | ||
#9124 = VERTEX_POINT('VertPt1',#9123); | ||
#9125 = EDGE_CURVE('EdgeCur1',#9124,#9124,#9122,.T.); | ||
#9126 = ORIENTED_EDGE('OriEdge1',*,*,#9125,.T.); | ||
#9127 = EDGE_LOOP('EdgeLoop1',(#9126)); | ||
#9128 = FACE_BOUND('FaceBnd1',#9127,.F.); | ||
#9130 = CIRCLE('Circ2',#9120,25.0); | ||
#9131 = CARTESIAN_POINT('CartPt3',(25.0,0.0,0.0)); | ||
#9132 = VERTEX_POINT('VertPt2',#9131); | ||
#9133 = EDGE_CURVE('EdgeCur2',#9132,#9132,#9130,.T.); | ||
#9134 = ORIENTED_EDGE('OriEdge2',*,*,#9133,.T.); | ||
#9135 = EDGE_LOOP('EdgeLoop2',(#9134)); | ||
#9136 = FACE_BOUND('FaceBnd2',#9135,.T.); | ||
#9137 = ADVANCED_FACE('AdvFace1',(#9136,#9128),#9121,.F.); | ||
#9140 = CARTESIAN_POINT('CartPt4',(0.0,0.0,5.0)); | ||
#9141 = AXIS2_PLACEMENT_3D('Ax2P3D2',#9140,#9103,#9101); | ||
#9142 = PLANE('Plane2',#9141); | ||
#9143 = CIRCLE('Circ3',#9141,30.0); | ||
#9144 = CARTESIAN_POINT('CartPt5',(30.0,0.0,5.0)); | ||
#9145 = VERTEX_POINT('VertPt3',#9144); | ||
#9146 = EDGE_CURVE('EdgeCur3',#9145,#9145,#9143,.T.); | ||
#9147 = ORIENTED_EDGE('OriEdge3',*,*,#9146,.T.); | ||
#9148 = EDGE_LOOP('EdgeLoop3',(#9147)); | ||
#9149 = FACE_BOUND('FaceBnd3',#9148,.T.); | ||
#9160 = CIRCLE('Circ4',#9141,25.0); | ||
#9161 = CARTESIAN_POINT('CartPt6',(25.0,0.0,5.0)); | ||
#9162 = VERTEX_POINT('VertPt4',#9161); | ||
#9163 = EDGE_CURVE('EdgeCur4',#9162,#9162,#9160,.T.); | ||
#9164 = ORIENTED_EDGE('OriEdge4',*,*,#9163,.T.); | ||
#9165 = EDGE_LOOP('EdgeLoop4',(#9164)); | ||
#9166 = FACE_BOUND('FaceBnd4',#9165,.F.); | ||
#9167 = ADVANCED_FACE('AdvFace2',(#9149,#9166),#9142,.T.); | ||
#9180 = CYLINDRICAL_SURFACE('CylSur1',#9120,30.0); | ||
#9190 = FACE_BOUND('FaceBnd5',#9127,.T.); | ||
#9191 = FACE_BOUND('FaceBnd6',#9148,.F.); | ||
#9192 = ADVANCED_FACE('AdvFace3',(#9190,#9191),#9180,.T.); | ||
#9200 = CYLINDRICAL_SURFACE('CylSur2',#9120,25.0); | ||
#9201 = FACE_BOUND('FaceBnd7',#9135,.F.); | ||
#9202 = FACE_BOUND('FaceBnd8',#9165,.T.); | ||
#9203 = ADVANCED_FACE('AdvFace4',(#9201,#9202),#9200,.F.); | ||
#9210 = CLOSED_SHELL('CloseSh1',(#9137,#9167,#9192,#9203)); | ||
#9220 = MANIFOLD_SOLID_BREP('ManSolBrep1',#9210); | ||
#9230 = (GEOMETRIC_REPRESENTATION_CONTEXT(3) | ||
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#9043)) | ||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#9040,#9041,#9042)) | ||
REPRESENTATION_CONTEXT('CONTEXT for advanced brep test case gasket','This is a 3d context using millimeters for linear dimension')); | ||
#9240 = ADVANCED_BREP_SHAPE_REPRESENTATION('ABShapeRep1',(#9220),#9230); | ||
ENDSEC; | ||
END-ISO-10303-21; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
ISO-10303-21; | ||
HEADER; | ||
/* Generated by software containing ST-Developer | ||
* from STEP Tools, Inc. (www.steptools.com) | ||
*/ | ||
|
||
FILE_DESCRIPTION( | ||
/* description */ ('Empty Shape Representation Sample File'), | ||
/* implementation_level */ '2;1'); | ||
|
||
FILE_NAME( | ||
/* name */ 'output_file', | ||
/* time_stamp */ '2005-11-07T17:37:07-05:00', | ||
/* author */ (''), | ||
/* organization */ (''), | ||
/* preprocessor_version */ 'ST-DEVELOPER v11', | ||
/* originating_system */ 'Geometry Demo', | ||
/* authorisation */ ''); | ||
|
||
FILE_SCHEMA (('AUTOMOTIVE_DESIGN')); | ||
ENDSEC; | ||
|
||
DATA; | ||
#10=AXIS2_PLACEMENT_3D('orientation',#11,$,$); | ||
#11=CARTESIAN_POINT('',(1.1,2.2,3.3)); | ||
#12=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-006),#14, | ||
'DISTANCE_ACCURACY_VALUE', | ||
'Maximum model space distance between geometric entities at asserted co | ||
nnectivities'); | ||
#13=( | ||
GEOMETRIC_REPRESENTATION_CONTEXT(3) | ||
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#12)) | ||
GLOBAL_UNIT_ASSIGNED_CONTEXT((#14,#16,#19)) | ||
REPRESENTATION_CONTEXT('ID1','3D') | ||
); | ||
#14=( | ||
LENGTH_UNIT() | ||
NAMED_UNIT(*) | ||
SI_UNIT(.MILLI.,.METRE.) | ||
); | ||
#15=DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.); | ||
#16=( | ||
CONVERSION_BASED_UNIT('degree',#18) | ||
NAMED_UNIT(#15) | ||
PLANE_ANGLE_UNIT() | ||
); | ||
#17=( | ||
NAMED_UNIT(*) | ||
PLANE_ANGLE_UNIT() | ||
SI_UNIT($,.RADIAN.) | ||
); | ||
#18=MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.01745329252),#17); | ||
#19=( | ||
NAMED_UNIT(*) | ||
SI_UNIT($,.STERADIAN.) | ||
SOLID_ANGLE_UNIT() | ||
); | ||
#20=SHAPE_DEFINITION_REPRESENTATION(#21,#22); | ||
#21=PRODUCT_DEFINITION_SHAPE('',$,#24); | ||
#22=SHAPE_REPRESENTATION('',(#10),#13); | ||
#23=PRODUCT_DEFINITION_CONTEXT('3D Mechanical Parts',#27,'design'); | ||
#24=PRODUCT_DEFINITION('design','example product_definition',#25,#23); | ||
#25=PRODUCT_DEFINITION_FORMATION('1.0','first version of our widget',#29); | ||
#26=APPLICATION_PROTOCOL_DEFINITION('international standard', | ||
'automotive_design',2003,#27); | ||
#27=APPLICATION_CONTEXT( | ||
'Core Data for Automotive Mechanical Design Process'); | ||
#28=PRODUCT_CONTEXT('3D Mechanical Parts',#27,'mechanical'); | ||
#29=PRODUCT('1234-K789','widget','a fictional product',(#28)); | ||
ENDSEC; | ||
END-ISO-10303-21; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
# Copyright (c) 2014, Juergen Riegel (FreeCAD@juergen-riegel.net) | ||
# Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) | ||
# All rights reserved. | ||
|
||
# This file is part of the StepClassLibrary (SCL). | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions are met: | ||
# | ||
# Redistributions of source code must retain the above copyright notice, | ||
# this list of conditions and the following disclaimer. | ||
# | ||
# Redistributions in binary form must reproduce the above copyright notice, | ||
# this list of conditions and the following disclaimer in the documentation | ||
# and/or other materials provided with the distribution. | ||
# | ||
# Neither the name of the <ORGANIZATION> nor the names of its contributors may | ||
# be used to endorse or promote products derived from this software without | ||
# specific prior written permission. | ||
|
||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
# ARE DISCLAIMED. | ||
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY | ||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
|
||
"""Simple Part21 STEP reader | ||
Reads a given STEP file. Maps the enteties and instaciate the | ||
corosbonding classes. | ||
In addition it writes out a graphwiz file with the entity graph. | ||
""" | ||
|
||
import Part21,sys | ||
|
||
|
||
|
||
__title__="Simple Part21 STEP reader" | ||
__author__ = "Juergen Riegel, Thomas Paviot" | ||
__url__ = "http://www.freecadweb.org" | ||
__version__ = "0.1 (Jan 2014)" | ||
|
||
|
||
|
||
class SimpleParser: | ||
""" | ||
Loads all instances definition of a Part21 file into memory. | ||
Two dicts are created: | ||
self._instance_definition : stores attibutes, key is the instance integer id | ||
self._number_of_ancestors : stores the number of ancestors of entity id. This enables | ||
to define the order of instances creation. | ||
""" | ||
def __init__(self, filename): | ||
import time | ||
import sys | ||
self._p21loader = Part21.Part21Parser("gasket1.p21") | ||
self.schemaModule = None | ||
self.schemaClasses = None | ||
|
||
def instaciate(self): | ||
"""Instaciate the python classe from the enteties""" | ||
import inspect | ||
# load the needed schema module | ||
if self._p21loader.get_schema_name() == 'config_control_design': | ||
import config_control_design | ||
self.schemaModule = config_control_design | ||
if self._p21loader.get_schema_name() == 'automotive_design': | ||
import automotive_design | ||
self.schemaModule = automotive_design | ||
|
||
if self.schemaModule: | ||
self.schemaClasses = dict(inspect.getmembers(self.schemaModule)) | ||
|
||
for number_of_ancestor in self._p21loader._number_of_ancestors.keys(): | ||
for entity_definition_id in self._p21loader._number_of_ancestors[number_of_ancestor]: | ||
#print entity_definition_id,':',self._p21loader._instances_definition[entity_definition_id] | ||
self.create_entity_instance(entity_definition_id) | ||
|
||
def create_entity_instance(self, instance_id): | ||
instance_definition = self._p21loader._instances_definition[instance_id] | ||
print "Instance definition to process",instance_definition | ||
# first find class name | ||
class_name = instance_definition[0].lower() | ||
print "Class name:%s"%class_name | ||
|
||
if not class_name=='': | ||
object_ = self.schemaClasses[class_name] | ||
# then attributes | ||
print object_.__doc__ | ||
#instance_attributes = instance_definition[1] | ||
#print "instance_attributes:",instance_attributes | ||
#a = object_(*instance_attributes) | ||
|
||
if __name__ == "__main__": | ||
sys.path.append('..') # path where config_control_design.py is found | ||
parser = SimpleParser("gasket1.p21") # simple test file | ||
parser.instaciate() |
Oops, something went wrong.