Purpose of Connector-Specific Object Types
Connector-specific object types (likeRevitObject, ArchicadObject, TeklaObject) extend the base DataObject with additional fields that preserve native semantics from the source application. These extensions enable:
- Semantic preservation: Native concepts (like Revit’s “Family” and “Type”) are preserved as first-class fields
- Source mapping: Objects can be mapped back to their source application elements
- Domain-specific data: Connector-specific properties (like Civil3D’s
baseCurves) are accessible directly
- They are DataObjects with
propertiesanddisplayValue - They participate in the same Collection hierarchy
- They are referenced by Proxies using
applicationId - Their geometry is stored in
displayValueas interoperable primitives
- A TeklaObject (connector-specific): Has
TeklaObject-specific fields likeprofile,material,class - A Speckle DataObject (core schema): Has
properties,displayValue,applicationId, follows the same structure as all DataObjects
displayValue and access basic properties.
Connectors
Revit
BIM authoring tool for architecture, engineering, and construction
Rhino
3D modeling software for design and fabrication
AutoCAD
2D/3D CAD software for drafting and design
Civil 3D
Civil engineering design and documentation software
Navisworks
Project review software for coordination and clash detection
ArchiCAD
BIM software for architects
Tekla
BIM software for structural engineering
ETABS
Structural analysis and design software
IFC
Industry Foundation Classes file format
Connector Comparison
| Connector | Hierarchy Pattern | Object Type | Proxies | Info Fields |
|---|---|---|---|---|
| Revit | File → Level → Category → Type | RevitObject | RenderMaterial, Level, Group | Reference Point Transform, Views |
| Rhino | File → Layer → Sublayer | Geometry, Instance | RenderMaterial, Color, Group, Definition | Views |
| AutoCAD | File → Layer | Geometry, Instance | RenderMaterial, Color, Group, Definition | - |
| Civil 3D | File → Layer | Civil3dObject, Geometry, Instance | RenderMaterial, Color, Group, Definition, PropertySetDefinition | - |
| Navisworks | File (flat) or Selection Tree | NavisworksObject | RenderMaterial | - |
| ArchiCAD | File → Floor → Type | ArchicadObject | RenderMaterial | - |
| Tekla | File → Type | TeklaObject | RenderMaterial | - |
| ETABS | File → Level → Design Orientation | EtabsObject | Section, Material | Analysis Results |
| IFC | Project → Site → Building → Storey | DataObject | RenderMaterial, Level | - |
Common Patterns
BIM Connectors (Revit, ArchiCAD, Tekla, ETABS)
- Use DataObject extensions (RevitObject, ArchicadObject, etc.)
- Organize by spatial hierarchy (Levels/Floors)
- Include rich properties (parameters, quantities, classifications)
- Use Level proxies for floor associations
CAD Connectors (Rhino, AutoCAD, Civil 3D)
- Support standalone geometry objects
- Organize by layers
- Use Instance/Definition pattern for blocks/components
- Include Color proxies for visual styling
Special Cases
- Navisworks: Can flatten hierarchy or preserve selection tree
- IFC: Follows IFC spatial structure (Project → Site → Building → Storey)
- ETABS: Includes analysis results in Info section
Connector Page Structure
Each connector page follows this structure:- Description - What the connector exports
- Hierarchy - How collections are organized
- Object Extensions - Connector-specific fields on DataObject
- Proxies - Which proxy types are used
- Info Fields - Model-level metadata
- Example - Canonical object example
- Invariants - Connector-specific rules and caveats
Conceptual Capability
After reading this page, you understand how connector-specific object types extend the core schema while preserving native semantics. You recognize that all connectors follow the same fundamental structure (Collections, DataObjects, Proxies, Info) but add connector-specific fields to preserve domain concepts. You can see how a single domain object (like a beam) is both connector-specific (preserving native semantics) and a core Speckle DataObject (ensuring interoperability). You’re ready to explore specific connector pages for detailed behaviors.Using This Documentation
- Start with core concepts - Understand Concepts, Object Schema, Proxy Schema first
- Review connector pages - Understand connector-specific behaviors
Do I need to read all connector pages?
Do I need to read all connector pages?
No! Read only the connectors you’re working with. The core concepts apply to all connectors, and connector pages are reference material for when you need connector-specific details.
What if a connector isn't listed?
What if a connector isn't listed?
New connectors are added regularly. If you’re working with an unlisted connector, it still follows the same fundamental data model. Check the connector’s release notes or contact the Speckle team for connector-specific documentation.