mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 01:11:40 +00:00
Correct an invalid default value for IfcCartesianTransformationOperator3D.Axis3. Thanks Stefan.
This commit is contained in:
@@ -151,11 +151,10 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3D* l,
|
||||
IfcGeom::convert(l->LocalOrigin(),origin);
|
||||
gp_Dir axis1 (1.,0.,0.);
|
||||
gp_Dir axis2 (0.,1.,0.);
|
||||
gp_Dir axis3;
|
||||
gp_Dir axis3 (0.,0.,1.);
|
||||
if ( l->hasAxis1() ) IfcGeom::convert(l->Axis1(),axis1);
|
||||
if ( l->hasAxis2() ) IfcGeom::convert(l->Axis2(),axis2);
|
||||
if ( l->hasAxis3() ) IfcGeom::convert(l->Axis3(),axis3);
|
||||
else axis3 = axis1.Crossed(axis2);
|
||||
gp_Ax3 ax3 (origin,axis3,axis1);
|
||||
if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse();
|
||||
trsf.SetTransformation(ax3);
|
||||
@@ -206,11 +205,10 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3DnonUn
|
||||
IfcGeom::convert(l->LocalOrigin(),origin);
|
||||
gp_Dir axis1 (1.,0.,0.);
|
||||
gp_Dir axis2 (0.,1.,0.);
|
||||
gp_Dir axis3;
|
||||
gp_Dir axis3 (0.,0.,1.);
|
||||
if ( l->hasAxis1() ) IfcGeom::convert(l->Axis1(),axis1);
|
||||
if ( l->hasAxis2() ) IfcGeom::convert(l->Axis2(),axis2);
|
||||
if ( l->hasAxis3() ) IfcGeom::convert(l->Axis3(),axis3);
|
||||
else axis3 = axis1.Crossed(axis2);
|
||||
gp_Ax3 ax3 (origin,axis3,axis1);
|
||||
if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse();
|
||||
trsf.SetTransformation(ax3);
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('mapped_circle.ifc','2014-07-19T12:07:38',(''),('',''),'IfcOpenShell 0.5.0-dev','IfcOpenShell 0.5.0-dev','');
|
||||
FILE_SCHEMA(('IFC2X3'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCCARTESIANPOINT((1.,101.));
|
||||
#2=IFCCARTESIANPOINT((1.,1.));
|
||||
#3=IFCCARTESIANPOINT((101.,1.));
|
||||
#4=IFCDIRECTION((1.,0.));
|
||||
#5=IFCCARTESIANPOINT((1.,1.));
|
||||
#6=IFCAXIS2PLACEMENT2D(#5,#4);
|
||||
#7=IFCCIRCLE(#6,100.);
|
||||
#8=IFCTRIMMEDCURVE(#7,(IFCPARAMETERVALUE(0.)),(IFCPARAMETERVALUE(90.)),.T.,.PARAMETER.);
|
||||
#9=IFCPOLYLINE((#1,#2,#3));
|
||||
#10=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#9);
|
||||
#11=IFCCOMPOSITECURVESEGMENT(.CONTINUOUS.,.T.,#8);
|
||||
#12=IFCCOMPOSITECURVE((#10,#11),.F.);
|
||||
#13=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#12);
|
||||
#14=IFCDIRECTION((0.,0.,1.));
|
||||
#15=IFCDIRECTION((1.,0.,0.));
|
||||
#16=IFCDIRECTION((0.,0.,1.));
|
||||
#17=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#18=IFCAXIS2PLACEMENT3D(#17,#16,#15);
|
||||
#19=IFCEXTRUDEDAREASOLID(#13,#18,#14,20.);
|
||||
#20=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
|
||||
#21=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
|
||||
#22=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
|
||||
#23=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453293),#22);
|
||||
#24=IFCCONVERSIONBASEDUNIT(#20,.PLANEANGLEUNIT.,'Degrees',#23);
|
||||
#25=IFCUNITASSIGNMENT((#21,#24));
|
||||
#26=IFCPROJECT('2K5TPkrgLCsRWUjW3rhDze',$,'Mapped Circle',$,$,$,$,(#32),#25);
|
||||
#27=IFCDIRECTION((0.,1.));
|
||||
#28=IFCDIRECTION((1.,0.,0.));
|
||||
#29=IFCDIRECTION((0.,0.,1.));
|
||||
#30=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#31=IFCAXIS2PLACEMENT3D(#30,#29,#28);
|
||||
#32=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-005,#31,#27);
|
||||
#33=IFCSHAPEREPRESENTATION(#32,'Body','SweptSolid',(#19));
|
||||
#34=IFCDIRECTION((0.,0.,1.));
|
||||
#35=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#36=IFCDIRECTION((0.,1.,0.));
|
||||
#37=IFCDIRECTION((-1.,0.,0.));
|
||||
#38=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#39=IFCDIRECTION((0.,-1.,0.));
|
||||
#40=IFCDIRECTION((0.,0.,-1.));
|
||||
#41=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#42=IFCDIRECTION((0.,-1.,0.));
|
||||
#43=IFCDIRECTION((-1.,0.,0.));
|
||||
#44=IFCCARTESIANTRANSFORMATIONOPERATOR3D(#37,#36,#35,1.,#34);
|
||||
#45=IFCCARTESIANTRANSFORMATIONOPERATOR3D($,#39,#38,2.,$);
|
||||
#46=IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM(#43,#42,#41,1.,#40,2.,1.);
|
||||
#47=IFCPERSON($,$,'',$,$,$,$,$);
|
||||
#48=IFCORGANIZATION($,'IfcOpenShell',$,$,$);
|
||||
#49=IFCPERSONANDORGANIZATION(#47,#48,$);
|
||||
#50=IFCAPPLICATION(#48,'0.5.0-dev','IfcOpenShell','IfcOpenShell');
|
||||
#51=IFCOWNERHISTORY(#49,#50,$,.ADDED.,1405764458,#49,#50,1405764458);
|
||||
#52=IFCDIRECTION((1.,0.,0.));
|
||||
#53=IFCDIRECTION((0.,0.,1.));
|
||||
#54=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#55=IFCAXIS2PLACEMENT3D(#54,#53,#52);
|
||||
#56=IFCLOCALPLACEMENT($,#55);
|
||||
#57=IFCSITE('3u$Iq5iSX3P9jhN1Q_lPxT',#51,$,$,$,#56,$,$,.ELEMENT.,$,$,$,$,$);
|
||||
#58=IFCRELAGGREGATES('1TmKB7NwL028i0hHYAwAjj',#51,$,$,#26,(#57));
|
||||
#59=IFCDIRECTION((1.,0.,0.));
|
||||
#60=IFCDIRECTION((0.,0.,1.));
|
||||
#61=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#62=IFCAXIS2PLACEMENT3D(#61,#60,#59);
|
||||
#63=IFCLOCALPLACEMENT(#56,#62);
|
||||
#64=IFCBUILDING('39bLeNfwTCY833MagsKCV1',#51,$,$,$,#63,$,$,.ELEMENT.,$,$,$);
|
||||
#65=IFCRELAGGREGATES('1ha$aSPJLBYhTXfX7MhR9c',#51,$,$,#57,(#64));
|
||||
#66=IFCDIRECTION((1.,0.,0.));
|
||||
#67=IFCDIRECTION((0.,0.,1.));
|
||||
#68=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#69=IFCAXIS2PLACEMENT3D(#68,#67,#66);
|
||||
#70=IFCLOCALPLACEMENT(#63,#69);
|
||||
#71=IFCBUILDINGSTOREY('3aSgXeuc92jOM3z9OU8ClT',#51,$,$,$,#70,$,$,.ELEMENT.,$);
|
||||
#72=IFCRELAGGREGATES('1YZWa7xGH2BPIRWCbE5US2',#51,$,$,#64,(#71));
|
||||
#73=IFCBUILDINGELEMENTPROXY('0g1GtoNWD6ZAgI102NzlDj',#51,'circle part',$,$,#79,#89,$,$);
|
||||
#74=IFCRELCONTAINEDINSPATIALSTRUCTURE('1Qj$yHymbDJfTYNV52DaEV',#51,$,$,(#73),#71);
|
||||
#75=IFCDIRECTION((1.,0.,0.));
|
||||
#76=IFCDIRECTION((0.,0.,1.));
|
||||
#77=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#78=IFCAXIS2PLACEMENT3D(#77,#76,#75);
|
||||
#79=IFCLOCALPLACEMENT($,#78);
|
||||
#80=IFCDIRECTION((1.,0.,0.));
|
||||
#81=IFCDIRECTION((0.,0.,1.));
|
||||
#82=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#83=IFCAXIS2PLACEMENT3D(#82,#81,#80);
|
||||
#84=IFCREPRESENTATIONMAP(#83,#33);
|
||||
#85=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#86=IFCCARTESIANTRANSFORMATIONOPERATOR3D($,$,#85,$,$);
|
||||
#87=IFCMAPPEDITEM(#84,#86);
|
||||
#88=IFCSHAPEREPRESENTATION(#32,'Body','MappedRepresentation',(#87));
|
||||
#89=IFCPRODUCTDEFINITIONSHAPE($,$,(#88));
|
||||
#90=IFCBUILDINGELEMENTPROXY('33VVacqUTC7g2JqGu4YGqy',#51,'circle part',$,$,#96,#99,$,$);
|
||||
#91=IFCRELCONTAINEDINSPATIALSTRUCTURE('2MPViYfDfAXAM_FcY51t6p',#51,$,$,(#90),#71);
|
||||
#92=IFCDIRECTION((1.,0.,0.));
|
||||
#93=IFCDIRECTION((0.,0.,1.));
|
||||
#94=IFCCARTESIANPOINT((0.,0.,0.));
|
||||
#95=IFCAXIS2PLACEMENT3D(#94,#93,#92);
|
||||
#96=IFCLOCALPLACEMENT($,#95);
|
||||
#97=IFCMAPPEDITEM(#84,#44);
|
||||
#98=IFCSHAPEREPRESENTATION(#32,'Body','MappedRepresentation',(#97));
|
||||
#99=IFCPRODUCTDEFINITIONSHAPE($,$,(#98));
|
||||
#100=IFCBUILDINGELEMENTPROXY('2gwDydYu94QwwML3zAP4RY',#51,'circle part',$,$,#106,#109,$,$);
|
||||
#101=IFCRELCONTAINEDINSPATIALSTRUCTURE('0h7lymY5b4MgtEgsvkwOE_',#51,$,$,(#100),#71);
|
||||
#102=IFCDIRECTION((1.,0.,0.));
|
||||
#103=IFCDIRECTION((0.,0.,1.));
|
||||
#104=IFCCARTESIANPOINT((-1.,1.,-20.));
|
||||
#105=IFCAXIS2PLACEMENT3D(#104,#103,#102);
|
||||
#106=IFCLOCALPLACEMENT($,#105);
|
||||
#107=IFCMAPPEDITEM(#84,#45);
|
||||
#108=IFCSHAPEREPRESENTATION(#32,'Body','MappedRepresentation',(#107));
|
||||
#109=IFCPRODUCTDEFINITIONSHAPE($,$,(#108));
|
||||
#110=IFCBUILDINGELEMENTPROXY('032bRHMEnB1Q1uvgalj5t8',#51,'circle part',$,$,#116,#119,$,$);
|
||||
#111=IFCRELCONTAINEDINSPATIALSTRUCTURE('1tArpusuTBtxScHZvILvxW',#51,$,$,(#110),#71);
|
||||
#112=IFCDIRECTION((1.,0.,0.));
|
||||
#113=IFCDIRECTION((0.,0.,1.));
|
||||
#114=IFCCARTESIANPOINT((0.,1.,20.));
|
||||
#115=IFCAXIS2PLACEMENT3D(#114,#113,#112);
|
||||
#116=IFCLOCALPLACEMENT($,#115);
|
||||
#117=IFCMAPPEDITEM(#84,#46);
|
||||
#118=IFCSHAPEREPRESENTATION(#32,'Body','MappedRepresentation',(#117));
|
||||
#119=IFCPRODUCTDEFINITIONSHAPE($,$,(#118));
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
Reference in New Issue
Block a user