Collaboration with other software
About model and data exchange with 3rd party solutions: Revit, Solibri, dRofus, Bluebeam, structural analysis solutions, and IFC, BCF and DXF/DWG-based exchange, etc.

IFC and the Survey Point Object

fuzzytnth3
Booster
I was at the ArchiCAD 20 Road Show in Edinburgh and Marcus showed us the Survey Point object and how it can relocate your exported IFC Model to an agreed 0,0,0 point.

Now I'm trying to use it and check it is working but I'm not having any luck getting it to work.

Anyone any idea what the correct procedure is? I've searched through ArchiCAD Help and Knowledge base but was not able to find any mention of it.
AC versions 3.41 to 25 (UKI Full 5005).
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
13 REPLIES 13
fuzzytnth3
Booster
As you were I think it works with the translator "Reference Model to Revit" option.

Edit:

It just seems to be working now for all the translators. I can't explain it, oh well happy days
AC versions 3.41 to 25 (UKI Full 5005).
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
Laszlo Nagy
Community Admin
Community Admin
In the IFC Translation Settings Dialog's Export Options panel click the Conversion OPtions button.
In the upcoming Dialog you will find the IFC Site location field. That controls whether the IFC Site Location within the IFC file will be at the ARCHICAD Project Origin or at the point the Survey Point object was placed in ARCHICAD.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
fuzzytnth3
Booster
Thanks for that Laszlo
AC versions 3.41 to 25 (UKI Full 5005).
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
Laszlo Nagy
Community Admin
Community Admin
A bit of additional info about the location of the Survey Point object:

http://archicad-talk.graphisoft.com/viewtopic.php?p=259737#259737
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
Laszlo Nagy
Community Admin
Community Admin
And now there is also a clip about it on the ARCHICAD YouTube Channel:

https://www.youtube.com/watch?v=F38fbQ2I0sQ
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
Anonymous
Not applicable
Hi Guys - Thanks for the above information.

I am interested in understanding exactly how ArchiCAD 20 is writing and reading the coordiantes to the IFC MVD Coordination View 2.0 file format.

Within in the IFC structure it contains the following: Site - IFCLocalPlacement information. Example below from an ArchiCAD-64 19.0.0 export:

#53= IFCDIRECTION((1.,0.,0.));
#55= IFCDIRECTION((0.,0.,1.));
#57= IFCCARTESIANPOINT((0.,0.,0.));
#59= IFCAXIS2PLACEMENT3D(#57,#55,#53);
#60= IFCLOCALPLACEMENT($,#59);
#63= IFCSITE('20FpTZCqJy2vhVJYtjuIce',#15,'Site',$,$,#60,$,$,.ELEMENT.,(24,28,0,0),(54,25,0,0),0.,$,$);

To date, all the IFC ArchiCAD experts I have seen has had the Local Placement Origin at 0,0,0 (line #57 above) in relation to the IFC Real World Coordiantes (as in the example above).

Does ArchiCAD 20 write the Project Origin or Survey Point to the Site IfcLocalPlacement, or does it depend on which IFC Translation Setup / Conversion Options / IFC Site Location is used?

And on Import, the above referenced Youtube clip mentions: "if ArchiCAD identifies a Survey Point in the IFC file, I will import it as a Survey Point GDL Object into the ArchiCAD Project at the lowest Level."
In this situation is it reading the Site IfcLocalPlacement as the Project Origin or Survey Point.

The outcomes of the above are going to have a big effect on how building origin to origin collaboration works across platforms, thus it is vital all IFC users are aware of how it works.

Thanks in advance.

Brian Renehan
Anonymous
Not applicable
Hi Guys

I'm not an ArchiCAD user, however, I was able to get a friend to test the following IFC - MVD CV 2.0.

____________________________________________________________

ISO-10303-21;
HEADER;

/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Sun Jun 11 22:10:36 2017
* Host: 4H1NMF2
* Database: C:\Users\funwithIFC\AppData\Local\Temp\{F550F37E-6A26-4914-AB06-9A16F62FFE12}\ifc
* Database version: 5507
* Database creation date: Sun Jun 11 22:10:35 2017
* Schema: IFC2X3
* Model: DataRepository.ifc
* Model creation date: Sun Jun 11 22:10:35 2017
* Header model: DataRepository.ifc_HeaderModel
* Header model creation date: Sun Jun 11 22:10:35 2017
* EDMuser: ddddd-user
* EDMgroup: ddddd-group
* License ID and type: 5605 : Permanent license. Expiry date:
* EDMstepFileFactory options: 020000
******************************************************************************************/
FILE_DESCRIPTION(('ViewDefinition [CoordinationView_V2.0]'),'2;1');
FILE_NAME('Project Number','2017-06-11T22:10:36',(''),(''),'The EXPRESS Data Manager Version 5.02.0100.07 : 28 Aug 2013','20170118_1100(x64) - Exporter 17.3.0.0 - Alternate UI 17.3.0.0','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;

DATA;
#1= IFCORGANIZATION($,'Autodesk Revit 2017 (ENU)',$,$,$);
#5= IFCAPPLICATION(#1,'2017','Autodesk Revit 2017 (ENU)','Revit');
#6= IFCCARTESIANPOINT((0.,0.,0.));
#9= IFCCARTESIANPOINT((0.,0.));
#11= IFCDIRECTION((1.,0.,0.));
#13= IFCDIRECTION((-1.,0.,0.));
#15= IFCDIRECTION((0.,1.,0.));
#17= IFCDIRECTION((0.,-1.,0.));
#19= IFCDIRECTION((0.,0.,1.));
#21= IFCDIRECTION((0.,0.,-1.));
#23= IFCDIRECTION((1.,0.));
#25= IFCDIRECTION((-1.,0.));
#27= IFCDIRECTION((0.,1.));
#29= IFCDIRECTION((0.,-1.));
#31= IFCAXIS2PLACEMENT3D(#6,$,$);
#32= IFCLOCALPLACEMENT(#277,#31);
#35= IFCPERSON($,'Fix','BIM',$,$,$,$,$);
#37= IFCORGANIZATION($,'BIMFix','Blog Site',$,$);
#38= IFCPERSONANDORGANIZATION(#35,#37,$);
#41= IFCOWNERHISTORY(#38,#5,$,.NOCHANGE.,$,$,$,1497182912);
#42= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#43= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#44= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#45= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#46= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#47= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#48= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.0174532925199433),#46);
#49= IFCCONVERSIONBASEDUNIT(#47,.PLANEANGLEUNIT.,'DEGREE',#48);
#50= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
#51= IFCDERIVEDUNITELEMENT(#50,1);
#52= IFCDERIVEDUNITELEMENT(#43,-3);
#53= IFCDERIVEDUNIT((#51,#52),.MASSDENSITYUNIT.,$);
#55= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#56= IFCSIUNIT(*,.FREQUENCYUNIT.,$,.HERTZ.);
#57= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.KELVIN.);
#58= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
#59= IFCDERIVEDUNITELEMENT(#50,1);
#60= IFCDERIVEDUNITELEMENT(#57,-1);
#61= IFCDERIVEDUNITELEMENT(#55,-3);
#62= IFCDERIVEDUNIT((#59,#60,#61),.THERMALTRANSMITTANCEUNIT.,$);
#64= IFCSIUNIT(*,.LENGTHUNIT.,.DECI.,.METRE.);
#65= IFCDERIVEDUNITELEMENT(#43,3);
#66= IFCDERIVEDUNITELEMENT(#55,-1);
#67= IFCDERIVEDUNIT((#65,#66),.VOLUMETRICFLOWRATEUNIT.,$);
#69= IFCSIUNIT(*,.ELECTRICCURRENTUNIT.,$,.AMPERE.);
#70= IFCSIUNIT(*,.ELECTRICVOLTAGEUNIT.,$,.VOLT.);
#71= IFCSIUNIT(*,.POWERUNIT.,$,.WATT.);
#72= IFCSIUNIT(*,.FORCEUNIT.,.KILO.,.NEWTON.);
#73= IFCSIUNIT(*,.ILLUMINANCEUNIT.,$,.LUX.);
#74= IFCSIUNIT(*,.LUMINOUSFLUXUNIT.,$,.LUMEN.);
#75= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.CANDELA.);
#76= IFCDERIVEDUNITELEMENT(#50,-1);
#77= IFCDERIVEDUNITELEMENT(#43,-2);
#78= IFCDERIVEDUNITELEMENT(#55,3);
#79= IFCDERIVEDUNITELEMENT(#74,1);
#80= IFCDERIVEDUNIT((#76,#77,#78,#79),.USERDEFINED.,'Luminous Efficacy');
#82= IFCDERIVEDUNITELEMENT(#43,1);
#83= IFCDERIVEDUNITELEMENT(#55,-1);
#84= IFCDERIVEDUNIT((#82,#83),.LINEARVELOCITYUNIT.,$);
#86= IFCSIUNIT(*,.PRESSUREUNIT.,$,.PASCAL.);
#87= IFCDERIVEDUNITELEMENT(#43,-2);
#88= IFCDERIVEDUNITELEMENT(#50,1);
#89= IFCDERIVEDUNITELEMENT(#55,-2);
#90= IFCDERIVEDUNIT((#87,#88,#89),.USERDEFINED.,'Friction Loss');
#92= IFCUNITASSIGNMENT((#42,#44,#45,#49,#50,#53,#55,#56,#58,#62,#67,#69,#70,#71,#72,#73,#74,#75,#80,#84,#86,#90));
#94= IFCAXIS2PLACEMENT3D(#6,$,$);
#95= IFCDIRECTION((-0.342020143325668,0.939692620785909));
#97= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.01,#94,#95);
#100= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#97,$,.GRAPH_VIEW.,$);
#102= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#97,$,.MODEL_VIEW.,$);
#103= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#97,$,.MODEL_VIEW.,$);
#104= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#97,$,.MODEL_VIEW.,$);
#105= IFCPROJECT('2rk7FfdVL2HuGMB9IcD598',#41,'Project Number',$,$,'Project Name','Project Status',(#97),#92);
#111= IFCPOSTALADDRESS($,$,$,$,('Enter address here'),$,'','','','User Defined');
#115= IFCBUILDING('2rk7FfdVL2HuGMB9IcD599',#41,'Test Building Origin',$,$,#32,$,'Test Building Origin',.ELEMENT.,$,$,#111);
#121= IFCAXIS2PLACEMENT3D(#6,$,$);
#122= IFCLOCALPLACEMENT(#32,#121);
#124= IFCBUILDINGSTOREY('2rk7FfdVL2HuGMB9HPowoF',#41,'Level 1',$,$,#122,$,'Level 1',.ELEMENT.,0.);
#126= IFCCARTESIANPOINT((0.,0.,4000.));
#128= IFCAXIS2PLACEMENT3D(#126,$,$);
#323= IFCRELDEFINESBYTYPE('2TVEfTnFvFUR_g_7hxIN_E',#41,$,$,(#192,#262),#220);
#290= IFCRELCONTAINEDINSPATIALSTRUCTURE('3Zu5Bv0LOHrPC10066FoQQ',#41,$,$,(#192,#262),#124);
#159= IFCCARTESIANPOINT((0.,75.,0.));
#161= IFCAXIS2PLACEMENT3D(#159,$,$);
#162= IFCLOCALPLACEMENT(#122,#161);
#163= IFCCARTESIANPOINT((4000.,0.));
#165= IFCPOLYLINE((#9,#163));
#167= IFCSHAPEREPRESENTATION(#100,'Axis','Curve2D',(#165));
#170= IFCCARTESIANPOINT((2000.,0.));
#172= IFCAXIS2PLACEMENT2D(#170,#25);
#173= IFCRECTANGLEPROFILEDEF(.AREA.,$,#172,4000.,150.);
#174= IFCAXIS2PLACEMENT3D(#6,$,$);
#175= IFCEXTRUDEDAREASOLID(#173,#174,#19,1000.);
#176= IFCCOLOURRGB($,0.819607843137255,0.8,0.749019607843137);
#177= IFCSURFACESTYLERENDERING(#176,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),IFCSPECULAREXPONENT(64.),.NOTDEFINED.);
#178= IFCSURFACESTYLE('Default Wall',.BOTH.,(#177));
#180= IFCPRESENTATIONSTYLEASSIGNMENT((#178));
#182= IFCSTYLEDITEM(#175,(#180),$);
#185= IFCSHAPEREPRESENTATION(#102,'Body','SweptSolid',(#175));
#188= IFCPRODUCTDEFINITIONSHAPE($,$,(#167,#185));
#192= IFCWALLSTANDARDCASE('3JysU$TBzFkPlFYxvGwmLU',#41,'Basic Wall:Generic Wall:250938',$,'Basic Wall:Generic Wall:250951',#162,#188,'250938');
#201= IFCMATERIAL('Default Wall');
#204= IFCPRESENTATIONSTYLEASSIGNMENT((#178));
#206= IFCSTYLEDITEM($,(#204),$);
#208= IFCSTYLEDREPRESENTATION(#97,'Style','Material',(#206));
#211= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#208),#201);
#214= IFCMATERIALLAYER(#201,150.,$);
#216= IFCMATERIALLAYERSET((#214),'Basic Wall:Generic Wall');
#219= IFCMATERIALLAYERSETUSAGE(#216,.AXIS2.,.POSITIVE.,-75.);
#220= IFCWALLTYPE('3JysU$TBzFkPlFYxvGwmKZ',#41,'Basic Wall:Generic Wall',$,$,$,$,'250951',$,.STANDARD.);
#222= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('Generic Wall'),$);
#223= IFCPROPERTYSINGLEVALUE('LoadBearing',$,IFCBOOLEAN(.F.),$);
#224= IFCPROPERTYSINGLEVALUE('ExtendToStructure',$,IFCBOOLEAN(.F.),$);
#225= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.T.),$);
#226= IFCPROPERTYSET('3JysU$TBzFkPlFW4DGwmLU',#41,'Pset_WallCommon',$,(#222,#223,#224,#225));
#231= IFCRELDEFINESBYPROPERTIES('3RBGHhgt53aQKrSUwn24A9',#41,$,$,(#192),#226);
#235= IFCCLASSIFICATION('http://www.csiorg.net/uniformat','1998',$,'Uniformat');
#237= IFCCARTESIANPOINT((-2062.8350824281,-8732.14386177323,0.));
#239= IFCDIRECTION((-0.342020143325673,0.939692620785907,0.));
#241= IFCAXIS2PLACEMENT3D(#237,#19,#239);
#242= IFCLOCALPLACEMENT(#122,#241);
#243= IFCCARTESIANPOINT((2000.,0.));
#245= IFCPOLYLINE((#9,#243));
#247= IFCSHAPEREPRESENTATION(#100,'Axis','Curve2D',(#245));
#249= IFCCARTESIANPOINT((1000.,-2.27373675443232E-13));
#251= IFCAXIS2PLACEMENT2D(#249,#25);
#252= IFCRECTANGLEPROFILEDEF(.AREA.,$,#251,2000.,150.);
#253= IFCAXIS2PLACEMENT3D(#6,$,$);
#254= IFCEXTRUDEDAREASOLID(#252,#253,#19,1000.);
#255= IFCSTYLEDITEM(#254,(#180),$);
#258= IFCSHAPEREPRESENTATION(#102,'Body','SweptSolid',(#254));
#260= IFCPRODUCTDEFINITIONSHAPE($,$,(#247,#258));
#262= IFCWALLSTANDARDCASE('3JysU$TBzFkPlFYxvGwmZf',#41,'Basic Wall:Generic Wall:252301',$,'Basic Wall:Generic Wall:250951',#242,#260,'252301');
#265= IFCMATERIALLAYERSETUSAGE(#216,.AXIS2.,.NEGATIVE.,75.);
#266= IFCPROPERTYSET('3JysU$TBzFkPlFW4DGwmZf',#41,'Pset_WallCommon',$,(#222,#223,#224,#225));
#268= IFCRELDEFINESBYPROPERTIES('3w6nYiUJjE3AdmWpj79D6w',#41,$,$,(#262),#266);
#272= IFCCARTESIANPOINT((5000.,7500.,2500.));
#274= IFCDIRECTION((0.939692620785909,-0.342020143325668,0.));
#276= IFCAXIS2PLACEMENT3D(#272,#19,#274);
#277= IFCLOCALPLACEMENT($,#276);
#278= IFCSITE('2rk7FfdVL2HuGMB9IcD59A',#41,'Default',$,'',#277,$,$,.ELEMENT.,(42,24,28,846799),(-71,-15,-9,-709199),2500.,$,$);
#283= IFCPROPERTYSINGLEVALUE('AboveGround',$,IFCLOGICAL(.U.),$);
#284= IFCPROPERTYSET('3Zu5Bv0LOHrPC12_o6FoQQ',#41,'Pset_BuildingStoreyCommon',$,(#283));
#286= IFCRELDEFINESBYPROPERTIES('0NX1KeJNbDygnqG2QnTGhJ',#41,$,$,(#124),#284);
#295= IFCRELAGGREGATES('03SQ5_O$z66vcK327R31P6',#41,$,$,#105,(#278));
#299= IFCRELAGGREGATES('3LHWJn1YX9_BMRsH6rt50l',#41,$,$,#278,(#115));
#303= IFCRELAGGREGATES('3EpCihEZj01vMbhHttz_C7',#41,$,$,#115,(#124));
#307= IFCPROPERTYSINGLEVALUE('NumberOfStoreys',$,IFCINTEGER(1),$);
#308= IFCPROPERTYSET('3EpCihEZj01vMbflNtz_C7',#41,'Pset_BuildingCommon',$,(#307));
#310= IFCRELDEFINESBYPROPERTIES('2ni3DW0Ez3_gMLkX6KV5g3',#41,$,$,(#115),#308);
#314= IFCRELASSOCIATESMATERIAL('3_uwPZCuj4c9WMzOMq9Hch',#41,$,$,(#192),#219);
#317= IFCRELASSOCIATESMATERIAL('1b149A9OH4EeCBfwDmxSjd',#41,$,$,(#220),#216);
#320= IFCRELASSOCIATESMATERIAL('0ABPXg8WvBafjX4Cz5I0Ip',#41,$,$,(#262),#265);
#326= IFCPRESENTATIONLAYERASSIGNMENT('A-WALL',$,(#167,#185,#247,#258),$);
ENDSEC;

END-ISO-10303-21;

___________________________________________________________

On Opening the above IFC file in ArchiCAD 20 and re-saving as an IFC file we got the following IFC output:
___________________________________________________________

ISO-10303-21;
HEADER;FILE_DESCRIPTION(('ViewDefinition [CoordinationView_V2.0]','Option [Drawing Scale: 100.000000]','Option [Global Unique Identifiers (GUID): Keep existing]','Option [Elements to export: Visible elements (on all stories)]','Option [Partial Structure Display: Entire Model]','Option [IFC Domain: All]','Option [Structural Function: All Elements]','Option [Convert Grid elements: On]','Option [Convert IFC Annotations and ARCHICAD 2D elements: On]','Option [Convert 2D symbols of Doors and Windows: On]','Option [Explode Composite and Complex Profile elements into parts: Off]','Option [Export geometries that Participates in Collision Detection only: On]','Option [Multi-skin complex geometries: Building element parts]','Option [Elements in Solid Element Operations: Extruded/revolved]','Option [Elements with junctions: Extruded/revolved without junctions]','Option [Slabs with slanted edge(s): Extruded]','Option [Use legacy geometric methods as in Coordination View 1.0: Off]','Option [IFC Site Geometry: As boundary representation (BRep)]','Option [IFC Site Location: At Project Origin]','Option [Properties To Export: All properties]','Option [Space containment: Off]','Option [Bounding Box: Off]','Option [Geometry to type objects: Off]','Option [Element Properties: Off]','Option [Element Parameters: Off]','Option [IFC Base Quantities: Off]','Option [Window Door Lining and Panel Parameters: On]','Option [IFC Space boundaries: Off]','Option [ARCHICAD Zone Categories as IFC Space classification data: Off]'),'2;1');
FILE_NAME('C:\\Users\\Admin\\Desktop\\Brian Renehan\\FileOpenIFC then SaveasIFC\\FileOpenIFC then SaveasIFC.ifc','2017-06-13T20:44:21',('Architect'),('Building Designer Office'),'The EXPRESS Data Manager Version 5.02.0100.09 : 26 Sep 2013','IFC file generated by GRAPHISOFT ARCHICAD-64 20.0.0 AUS FULL Windows version (IFC2x3 add-on version: 5025 AUS FULL).','The authorising person');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;

DATA;
#1= IFCPERSON($,'Undefined',$,$,$,$,$,$);
#3= IFCORGANIZATION($,'Undefined',$,$,$);
#7= IFCPERSONANDORGANIZATION(#1,#3,$);
#10= IFCORGANIZATION('GS','GRAPHISOFT','GRAPHISOFT',$,$);
#11= IFCAPPLICATION(#10,'20.0.0','ARCHICAD-64','IFC2x3 add-on version: 5025 AUS FULL');
#12= IFCOWNERHISTORY(#7,#11,$,.ADDED.,$,$,$,1497350661);
#13= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#14= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#15= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#16= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#17= IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.0174532925199),#16);
#18= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#19= IFCCONVERSIONBASEDUNIT(#18,.PLANEANGLEUNIT.,'DEGREE',#17);
#20= IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.STERADIAN.);
#21= IFCMONETARYUNIT(.AUD.);
#22= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#23= IFCSIUNIT(*,.MASSUNIT.,$,.GRAM.);
#24= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
#25= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.LUMEN.);
#26= IFCUNITASSIGNMENT((#13,#14,#15,#19,#20,#21,#22,#23,#24,#25));
#28= IFCDIRECTION((1.,0.,0.));
#32= IFCDIRECTION((0.,0.,1.));
#34= IFCCARTESIANPOINT((0.,0.,0.));
#36= IFCAXIS2PLACEMENT3D(#34,#32,#28);
#37= IFCDIRECTION((-0.342020143326,0.939692620786));
#39= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.00000000000E-5,#36,#37);
#42= IFCPROJECT('2rk7FfdVL2HuGMB9IcD598',#12,'Project Number',$,$,'Project Name','Project Status',(#39),#26);
#49= IFCPOSTALADDRESS($,$,$,$,('Enter address here'),$,$,$,$,'User Defined');
#53= IFCDIRECTION((0.939692620786,-0.342020143326,0.));
#55= IFCDIRECTION((0.,0.,1.));
#57= IFCCARTESIANPOINT((5000.,7500.,2500.));
#59= IFCAXIS2PLACEMENT3D(#57,#55,#53);
#60= IFCLOCALPLACEMENT($,#59);
#63= IFCSITE('2rk7FfdVL2HuGMB9IcD59A',#12,'Default',$,'',#60,$,$,.ELEMENT.,(42,24,28,846799),(-71,-15,-9,-709199),2500.,$,#49);
#69= IFCRELAGGREGATES('1m$hgYwzwL8gKraivtX0xJ',#12,$,$,#42,(#63));
#75= IFCPOSTALADDRESS($,$,$,$,('Enter address here'),$,$,$,$,'User Defined');
#77= IFCDIRECTION((1.,0.,0.));
#79= IFCDIRECTION((0.,0.,1.));
#81= IFCCARTESIANPOINT((0.,0.,0.));
#83= IFCAXIS2PLACEMENT3D(#81,#79,#77);
#84= IFCLOCALPLACEMENT(#60,#83);
#86= IFCBUILDING('2rk7FfdVL2HuGMB9IcD599',#12,'Test Building Origin',$,$,#84,$,'Test Building Origin',.ELEMENT.,$,$,#75);
#88= IFCRELAGGREGATES('1zvKi8XxJHXmlRZ_lzZWqX',#12,$,$,#63,(#86));
#92= IFCPROPERTYSINGLEVALUE('NumberOfStoreys',$,IFCINTEGER(1),$);
#96= IFCPROPERTYSET('0WLqFdnDliFeGFv1M5pkbJ',#12,'Pset_BuildingCommon',$,(#92));
#101= IFCRELDEFINESBYPROPERTIES('2q1Yzqe0hpzgBMGf5w7PzX',#12,$,$,(#86),#96);
#105= IFCDIRECTION((1.,0.,0.));
#107= IFCDIRECTION((0.,0.,1.));
#109= IFCCARTESIANPOINT((0.,0.,0.));
#111= IFCAXIS2PLACEMENT3D(#109,#107,#105);
#112= IFCLOCALPLACEMENT(#84,#111);
#114= IFCBUILDINGSTOREY('2rk7FfdVL2HuGMB9HPowoF',#12,'Level 1',$,$,#112,$,'Level 1',.ELEMENT.,0.);
#116= IFCRELAGGREGATES('22jG3TC2jJ5504t5dAbuX_',#12,$,$,#86,(#114));
#120= IFCPROPERTYSINGLEVALUE('AboveGround',$,IFCLOGICAL(.U.),$);
#121= IFCPROPERTYSET('0DyKAm4n5ZjBckvLEdzMQs',#12,'Pset_BuildingStoreyCommon',$,(#120));
#123= IFCRELDEFINESBYPROPERTIES('1YZV8ef_ziDjdB61CME$DN',#12,$,$,(#114),#121);
#127= IFCDIRECTION((1.,0.,0.));
#129= IFCDIRECTION((0.,0.,1.));
#131= IFCCARTESIANPOINT((0.,75.,0.));
#133= IFCAXIS2PLACEMENT3D(#131,#129,#127);
#134= IFCLOCALPLACEMENT(#112,#133);
#136= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#39,$,.MODEL_VIEW.,$);
#138= IFCCARTESIANPOINT((0.,-75.));
#140= IFCCARTESIANPOINT((4000.,-75.));
#142= IFCCARTESIANPOINT((4000.,75.));
#144= IFCCARTESIANPOINT((0.,75.));
#146= IFCPOLYLINE((#138,#140,#142,#144,#138));
#148= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'',#146);
#149= IFCDIRECTION((1.,0.,0.));
#151= IFCDIRECTION((0.,0.,1.));
#153= IFCCARTESIANPOINT((0.,0.,0.));
#155= IFCAXIS2PLACEMENT3D(#153,#151,#149);
#156= IFCDIRECTION((0.,0.,1.));
#158= IFCEXTRUDEDAREASOLID(#148,#155,#156,1000.);
#159= IFCCOLOURRGB($,0.819607843137,0.8,0.749019607843);
#160= IFCSURFACESTYLERENDERING(#159,0.,IFCNORMALISEDRATIOMEASURE(0.7),$,$,$,IFCNORMALISEDRATIOMEASURE(0.5),$,.NOTDEFINED.);
#161= IFCSURFACESTYLE('Default Wall',.BOTH.,(#160));
#163= IFCPRESENTATIONSTYLEASSIGNMENT((#161));
#165= IFCSTYLEDITEM(#158,(#163),$);
#168= IFCSHAPEREPRESENTATION(#136,'Body','SweptSolid',(#158));
#175= IFCPRESENTATIONLAYERASSIGNMENT('A-WALL.IFC Import',$,(#168,#185,#287,#296),$);
#178= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#39,$,.MODEL_VIEW.,$);
#179= IFCCARTESIANPOINT((0.,0.));
#181= IFCCARTESIANPOINT((4000.,0.));
#183= IFCPOLYLINE((#179,#181));
#185= IFCSHAPEREPRESENTATION(#178,'Axis','Curve2D',(#183));
#189= IFCPRODUCTDEFINITIONSHAPE($,$,(#168,#185));
#195= IFCWALLSTANDARDCASE('3JysU$TBzFkPlFYxvGwmLU',#12,'Basic Wall:Generic Wall:250938',$,'Basic Wall:Generic Wall:250951',#134,#189,'250938');
#210= IFCRELCONTAINEDINSPATIALSTRUCTURE('1ijpJMm$APeqpAEHdhGpwV',#12,$,$,(#195,#303),#114);
#214= IFCMATERIAL('Default Wall');
#217= IFCSTYLEDITEM($,(#163),$);
#219= IFCSTYLEDREPRESENTATION(#136,$,$,(#217));
#221= IFCMATERIALDEFINITIONREPRESENTATION($,$,(#219),#214);
#225= IFCMATERIALLAYER(#214,150.,.U.);
#227= IFCMATERIALLAYERSET((#225),'Default Wall 150');
#230= IFCMATERIALLAYERSETUSAGE(#227,.AXIS2.,.POSITIVE.,-75.);
#231= IFCRELASSOCIATESMATERIAL('2v$FeInnl2pEYfoS3Wu5Ka',#12,$,$,(#195),#230);
#234= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('Generic Wall'),$);
#235= IFCPROPERTYSINGLEVALUE('ExtendToStructure',$,IFCBOOLEAN(.F.),$);
#236= IFCPROPERTYSINGLEVALUE('LoadBearing',$,IFCBOOLEAN(.F.),$);
#237= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.T.),$);
#238= IFCPROPERTYSET('2cCGRPROiAvj3BdmE7Oh8F',#12,'Pset_WallCommon',$,(#234,#235,#236,#237));
#240= IFCRELDEFINESBYPROPERTIES('3RmGTLGhE44V51yJ66XU2s',#12,$,$,(#195),#238);
#244= IFCPROPERTYSINGLEVALUE('Renovation Status',$,IFCLABEL('New'),$);
#245= IFCPROPERTYSET('16ueJuWN070vFqmQNIyaz1',#12,'AC_Pset_RenovationAndPhasing',$,(#244));
#247= IFCRELDEFINESBYPROPERTIES('0_w0B$nDw5fSLLHnVdQNG_',#12,$,$,(#195),#245);
#250= IFCWALLTYPE('3JysU$TBzFkPlFYxvGwmKZ',#12,'Basic Wall:Generic Wall',$,$,$,$,'250951',$,.STANDARD.);
#252= IFCRELDEFINESBYTYPE('0MtQZo4ivc5sB2Gx1IulbU',#12,$,$,(#195,#303),#250);
#255= IFCDIRECTION((-0.342020143326,0.939692620786,0.));
#257= IFCDIRECTION((0.,0.,1.));
#259= IFCCARTESIANPOINT((-2062.83508243,-8732.14386177,0.));
#261= IFCAXIS2PLACEMENT3D(#259,#257,#255);
#262= IFCLOCALPLACEMENT(#112,#261);
#263= IFCCARTESIANPOINT((0.,-75.));
#265= IFCCARTESIANPOINT((2000.,-75.));
#267= IFCCARTESIANPOINT((2000.,75.));
#269= IFCCARTESIANPOINT((0.,75.));
#271= IFCPOLYLINE((#263,#265,#267,#269,#263));
#273= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,'',#271);
#274= IFCDIRECTION((1.,0.,0.));
#276= IFCDIRECTION((0.,0.,1.));
#278= IFCCARTESIANPOINT((0.,0.,0.));
#280= IFCAXIS2PLACEMENT3D(#278,#276,#274);
#281= IFCDIRECTION((0.,0.,1.));
#283= IFCEXTRUDEDAREASOLID(#273,#280,#281,1000.);
#284= IFCSTYLEDITEM(#283,(#163),$);
#287= IFCSHAPEREPRESENTATION(#136,'Body','SweptSolid',(#283));
#290= IFCCARTESIANPOINT((0.,0.));
#292= IFCCARTESIANPOINT((2000.,0.));
#294= IFCPOLYLINE((#290,#292));
#296= IFCSHAPEREPRESENTATION(#178,'Axis','Curve2D',(#294));
#299= IFCPRODUCTDEFINITIONSHAPE($,$,(#287,#296));
#303= IFCWALLSTANDARDCASE('3JysU$TBzFkPlFYxvGwmZf',#12,'Basic Wall:Generic Wall:252301',$,'Basic Wall:Generic Wall:250951',#262,#299,'252301');
#307= IFCMATERIALLAYERSETUSAGE(#227,.AXIS2.,.POSITIVE.,-75.);
#308= IFCRELASSOCIATESMATERIAL('3UKtBAlAizBQfMvpu86pRZ',#12,$,$,(#303),#307);
#311= IFCPROPERTYSINGLEVALUE('Reference',$,IFCIDENTIFIER('Generic Wall'),$);
#312= IFCPROPERTYSINGLEVALUE('ExtendToStructure',$,IFCBOOLEAN(.F.),$);
#313= IFCPROPERTYSINGLEVALUE('LoadBearing',$,IFCBOOLEAN(.F.),$);
#314= IFCPROPERTYSINGLEVALUE('IsExternal',$,IFCBOOLEAN(.T.),$);
#315= IFCPROPERTYSET('10ABt3zXdzBq$hUANsgw69',#12,'Pset_WallCommon',$,(#311,#312,#313,#314));
#317= IFCRELDEFINESBYPROPERTIES('3Pi3RFdACFsnaSl4DfbOWT',#12,$,$,(#303),#315);
#321= IFCPROPERTYSINGLEVALUE('Renovation Status',$,IFCLABEL('New'),$);
#322= IFCPROPERTYSET('17TDtz5oJlIm7X6544XZ3D',#12,'AC_Pset_RenovationAndPhasing',$,(#321));
#324= IFCRELDEFINESBYPROPERTIES('2fZMp5XhawvT6AjuOTIMHv',#12,$,$,(#303),#322);
ENDSEC;

END-ISO-10303-21;
_______________________________________________________________
Anonymous
Not applicable
What the previous IFC file exports show, is that it now looks like ArchiCAD 20 Imports and Exports IFC files in a similar manner than Autodesk Revit in regard to the IFC Site Local Placement - which is able to read the Survey Point:

The Sample Autodesk Revit 2017.2 output:

#278= IFCSITE('2rk7FfdVL2HuGMB9IcD59A',#41,'Default',$,'',#277,$,$,.ELEMENT.,(42,24,28,846799),(-71,-15,-9,-709199),2500.,$,$);
#277= IFCLOCALPLACEMENT($,#276);
#276= IFCAXIS2PLACEMENT3D(#272,#19,#274);
#272= IFCCARTESIANPOINT((5000.,7500.,2500.));
#274= IFCDIRECTION((0.939692620785909,-0.342020143325668,0.));
#19= IFCDIRECTION((0.,0.,1.));

Sample ArchiCAD 20 Output:

#63= IFCSITE('2rk7FfdVL2HuGMB9IcD59A',#12,'Default',$,'',#60,$,$,.ELEMENT.,(42,24,28,846799),(-71,-15,-9,-709199),2500.,$,#49);
#60= IFCLOCALPLACEMENT($,#59);
#59= IFCAXIS2PLACEMENT3D(#57,#55,#53);
#57= IFCCARTESIANPOINT((5000.,7500.,2500.));
#55= IFCDIRECTION((0.,0.,1.));
#53= IFCDIRECTION((0.939692620786,-0.342020143326,0.));

The one error I did make when exporting the original IFC file out of Revit was that I used the "Include IFCSITE elevation in the site local placement origin:" setting, which adds the height datum to the IfcCartesianPoint as well as the IfcSite data (2500) thus in some applications doubling the height of the building.

Are other ArchiCAD 20 users able to confirm the above findings!

I am also interested to see if ArchiCAD 20+ will support a Survey point of Coordinate files up to UTM Coordinateshttps://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system, which can be up to a Northing of 10,000,000m (10,000 km)?

With the way, ArchiCAD 20 uses an object for the Survey Point, does this cause an issue of "Far from origin"? See: https://helpcenter.graphisoft.com/troubleshooting/3d-modeling/far-from-origin/#Why_can_Projects_be_Located_Far_From_Origin

Love to see other users findings and thoughts, and It would be great if Software Vendors, documented exactly how they read and write to the IFC SiteLocal Placement.

Cheers
Brian Renehan
Anonymous
Not applicable
Is any good ArchiCAD 20+ user able to test if the Survey Point will work in a project if it's, 6,500,000,000mm (Northing Coordinate of Sydney under GDA94 / MGA94 Zone 56).

Can you see if you get any of the following issues:
  • - radial arcs and tangential lines won't trim or display correctly,
    - graphical or view rendering errors,
    - flickering/jumping items when orbiting/moving in 3D Open GL view,
    - distortion/jumping when zooming in a long way 2D,
    - lines may appear to flicker/jump on selection,
    - hatches won't display/print correctly,
    - drawings disappearing or displaying as empty on layouts/viewports,
    - renders are missing lights or objects,
Thanks everyone for collaborating.
Regards
Brian