### Ignore IFC Property Sets Example Source: https://technical.geometrygym.com/revit/revitifc/ifc-tools-for-revit This example shows the format for a text file used to specify property sets and properties to ignore when loading IFC data into Revit. Use this to filter out unwanted information. ```text # #PropertySets to Ignore #Format: # PropertySet: # # # # Property Set for [Project Name] # # PropertySet: PropertySet1 PropertyOne PropertyTwo # PropertySet: PropertySet2 PropertyOne PropertyTwo PropertyThree ``` -------------------------------- ### IFC Column with Revit Version GUID Source: https://technical.geometrygym.com/revit/revitifc/ifc-export/ifc-revision-export This example shows how a Revit element's ID and version GUID are stored in the IfcElement tag attribute. ```ifc // #38= IFCCOLUMN('164stSIiP6kR26wVw4sLpn',#102,'UC305x305x97',$,'UC-Universal Columns-Column:UC305x305x97',#93,#96,'416010:95977bec-cc1b-4ed8-8a63-c799c9ee330a'); ``` -------------------------------- ### Set SAP2000 Executable Path in Rhino Options Source: https://technical.geometrygym.com/rhino-grasshopper/structuralanalysis/sap2000/sap2000-specific-features Configure the path to the SAP2000 executable within Rhino's advanced options. This is useful when SAP2000 is not installed locally. ```text 1.0 Type rhino command "Options". 2.0 Navigate to the Advanced under Rhino Options 3.0 Browse to ggRhinoSAP.CSiApplicationPath 4.0 Set the value to the folder where SAP2000 is installed, such as *C:\Program Files\Computers and Structures\SAP2000 22* ``` -------------------------------- ### Create IFC Beam with Python Source: https://technical.geometrygym.com/rhino-grasshopper/ifc/ifc-grasshopper/create-via-code Use this snippet to create an IfcBeamStandardCase with a specified material profile and placement. Ensure the Geometry Gym DLL is referenced and necessary classes are imported. ```Python import clr import sys clr.AddReferenceToFileAndPath(r"C:\Program Files\Geometry Gym\Rhino7\ggRhinoIFC.dll") import GeometryGym.Ifc as gg from System.Collections.Generic import List from System import Guid from Rhino.Geometry import Transform from Rhino.Geometry import Point3d from Rhino.Geometry import Vector3d from Rhino.Geometry import Line from Rhino.Geometry import Plane ipe = "IPE300" db = gg.DatabaseIfc(True,gg.ModelView.Ifc2x3Coordination) building = gg.IfcBuilding(db,"PythonBuilding") project = gg.IfcProject(building,"PythonProject", gg.IfcUnitAssignment.Length.Millimetre) s355 = gg.IfcMaterial(db,"S355JR") s355.Category = "STEEL" profile = gg.IfcIShapeProfileDef(db,ipe,150,300,7.1,10.7) profile.FilletRadius = 15 #ifcBeamTypeID = GuidEncoder.Encode(Guid("{FA07940E-19FC-417a-B7F1-09A0CCF39B74}")) #Can create a unique identifier if you wish else leave blank materialProfile = gg.IfcMaterialProfile(ipe,s355,profile) materialProfileUsage = gg.IfcMaterialProfileSetUsage(materialProfile) #beamType = gg.IfcBeamType(ipe,mp,gg.IfcBeamTypeEnum.BEAM) #ln = Line(Point3d(0,0,0),Point3d(1000,0,0)) #clipPlanes = List[Plane]() #beam = gg.IfcBeamStandardCase(building,bt,ln,Vector3d.YAxis, gg.IfcCardinalPointReference.MID,clipPlanes) axisPlacement = gg.IfcAxis2Placement3D(gg.IfcCartesianPoint(db,0,0,0),gg.IfcDirection(db,1,0,0),gg.IfcDirection(db,0,1,0)) beam = gg.IfcBeamStandardCase(building,materialProfileUsage,axisPlacement,1000) a = db.ToString(gg.FormatIfcSerialization.STEP) ``` -------------------------------- ### Configure License Duration in XML Source: https://technical.geometrygym.com/getting-started/licencing/license-info-and-issues Add a 'Duration' element to the GeomGymShared.xml file to set the license checkout time in minutes. The minimum duration is 5 minutes. ```xml GG xxxxx 5 ``` -------------------------------- ### Create Beam Component Source: https://technical.geometrygym.com/rhino-grasshopper/structuralanalysis/geometry-gym-model/common-attributes/1d-elements-curve Generic component placeholder for creating beam elements. ```text gg###CreateBeam ``` -------------------------------- ### IFC Category Mapping File Format Source: https://technical.geometrygym.com/revit/revitifc/ifc-import/ifc-category-mapping A text-based configuration file mapping IFC class names and types to Revit categories and sub-categories. ```text # IFC Class Name and Type to Revit Category/Sub-Category Table # Maps IFC Class and Type to Revit Category/Sub-Category # Revised by Jon Mirtschin (Geometry Gym Pty Ltd) December 2016 # Classes can be excluded from import as per following line # IfcBuildingElementProxy Don't Import # ----------------------------------------------------- #IfcProduct IfcAnnotation DetailComponents #IfcElement # IfcBuildingElement IfcBeam Structural Framing IfcBuildingElementPart Parts IfcBuildingElementProxy Entourage Entourage IfcBuildingElementProxy MechanicalEquipment MechanicalEquipment IfcBuildingElementProxy Parking Parking IfcBuildingElementProxy PlumbingFixture PlumbingFixtures IfcBuildingElementProxy SpecialityEquipment SpecialtyEquipment IfcBuildingElementProxy TinDesign Site IfcBuildingElementProxy Generic Models IfcColumn Structural Columns IfcColumn [LoadBearing] Structural Columns IfcCovering Generic Models IfcCovering CEILING Ceilings IfcCovering FLOORING Floors IfcCovering ROOFING Roofs IfcCurtainWall CurtainWallPanels IfcDoor Doors IfcFooting Structural Foundations IfcMember Structural Framing IfcMember MULLION Curtain Wall Mullions IfcMember POST StructuralColumns IfcMember STUD StructuralColumns IfcMember MULLION Curtain Wall Mullions IfcPile Structural Foundations IfcPlate StructConnections IfcPlate CURTAIN_PANEL Curtain Panels IfcRailing HANDRAIL RailingHandRail IfcRailing Baluster RailingBalusterRail IfcRailing Railings IfcRamp Ramps IfcRampFlight Ramps IfcRoof Roofs ``` -------------------------------- ### ggImportIFC - Import IFC File Source: https://technical.geometrygym.com/rhino-grasshopper/ifc/ifc-for-rhino/ifc-import The ggImportIFC command imports an IFC data set into the active Rhino document, converting IFC elements to appropriate Rhino geometry. ```APIDOC ## ggImportIFC - Import IFC File ### Description This command facilitates the import of an IFC data set from a file into the active Rhino document. It converts IFC elements with representation into the most appropriate Rhino geometry equivalent. ### Method Rhino Command ### Endpoint N/A (Rhino Command) ### Parameters #### Import Options - **Import Tolerance** (Enum: File Tolerance, Document Tolerance, User Value) - User can nominate to use file tolerance or nominate Rhino document tolerance (or user value). This affects geometry creation and import speed. - **Local Coordinates** (Boolean) - If true, imports geometry local to the project base point origin, which can improve rendering and computation performance. Generates construction planes for coordinate queries. - **Hierarchy Layer Structure** (Boolean) - If true, arranges imported elements into a hierarchy of layers (e.g., site, building, storey, spaces) based on IFC data. If false, uses layers defined by IFC layer assignment. - **Layers for Spaces** (Boolean) - Toggles the creation of layers specifically for spaces. - **Save GlobalId on Layers** (Boolean) - Prevents Global Ids from being used for generated layers, useful when importing multiple IFC files with common Global Ids. - **Object Material from Presentation Style** (Boolean) - If true, presentation style nominations will create Rhino Materials for rendering purposes. - **Representation Maps as Blocks** (Enum: All, Selective) - Configures whether all IFC representation maps generate a Rhino block or a more selective approach is used. - **Element Assemblies** (Enum: Single Rhino Block, Single Rhino Object, Group) - Determines how Element Assemblies are represented in Rhino: as a single block, individual objects, or a group. - **Group objects** (Boolean) - If true, creates Rhino groups for elements composed of multiple geometry representations. - **Generate user text option** (Boolean) - If true, generates user-text for properties of objects on the resultant Rhino geometry. - **Prefix Property Set Name** (Boolean) - If true, generated user text keys are prefixed with the property set name for better identification. - **Identify Orphaned Elements** (Boolean) - If true, ensures all elements are imported, including those not strictly contained within the spatial structure. This can increase import time. - **IFC Object Filter** (String) - A string to configure which objects to exclude/ignore during import (e.g., "IfcSpace,IfcFurnishingElement,IfcFastener"). Filtering for inclusion is also possible. - **Correct and improve geometry** (Boolean) - If true, attempts to detect and correct geometry, particularly extrusions and voided geometry, for better Rhino model performance. This may slow down the import process. - **Ignore Boolean Difference Failures** (Boolean) - If true, disables warnings related to ineffective boolean differences in the IFC data set. ### Request Example N/A (Rhino Command) ### Response N/A (Rhino Command) ``` -------------------------------- ### Display Tools Source: https://technical.geometrygym.com/rhino-grasshopper/structuralanalysis/geometry-gym-model/tools-for-rhino/general-tools Commands for displaying structural information within the Rhino viewport. ```APIDOC ## ggStrand7LabelNodes ### Description Turns on or off the display of structural node information within the Rhino viewport. ### Method Command ### Endpoint `ggStrand7LabelNodes` ### Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether node labels are now on or off. #### Response Example ```json { "status": "Node labels turned ON" } ``` ## ggStrand7LabelElems ### Description Turns on or off the display of structural element information within the Rhino viewport. ### Method Command ### Endpoint `ggStrand7LabelElems` ### Parameters None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **status** (string) - Indicates whether element labels are now on or off. #### Response Example ```json { "status": "Element labels turned OFF" } ``` ``` -------------------------------- ### Define IFC Property Templates Source: https://technical.geometrygym.com/other-plugins/navisworks/navisworks-ifc-export Sample XML structure for defining property templates used during the IFC export process. Currently limited to text-based properties. ```xml ``` -------------------------------- ### Configure ggAdvanceSteelIFC Export Settings Source: https://technical.geometrygym.com/other-plugins/advance-steel-or-ggadvancesteelifc This JSON file configures the enhanced IFC export for Advance Steel. Edit this file to customize options like origin point, common properties, and inclusion of welds and bolts for future exports. ```json { "OriginBasePointX": 0.0, "OriginBasePointY": 0.0, "OriginBasePointZ": 0.0, "CommonProperties": true, "CommonPropertySets": true, "GroupsFromLotPhase": true, "IncludeWelds": false, "IncludeBolts": false } ``` -------------------------------- ### IFC Version Source: https://technical.geometrygym.com/rhino-grasshopper/ifc/ifc-for-rhino/rhino-ifc-tools Retrieves the IFC version information. ```APIDOC ## ggIFCVersion ### Description Retrieves the IFC version information. ### Method Not applicable (command-line tool) ### Endpoint Not applicable (command-line tool) ``` -------------------------------- ### Import Tools: Interpret Model Source: https://technical.geometrygym.com/rhino-grasshopper/structuralanalysis/geometry-gym-model/tools-for-rhino/import-export-tools Imports a structural analysis model from a given software and bakes it into Rhino objects with associated attributes. Associated data can be stripped later. ```APIDOC ## Interpret Model ### Description Interprets a structural analysis model from a given software and bakes it into Rhino objects with associated attributes. You can later strip objects of the associated data by using the strip command. For text-based import files, the interpret model function allows either a file input or a paste from clipboard option. ### Method Not specified (likely a function call within a plugin or script) ### Endpoint Not applicable (function within a software) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` ggInterpretStrand7(filePathOrClipboardData) ``` ### Response #### Success Response (200) Rhino objects with associated structural analysis data. #### Response Example None specified ```