Teigha Blog

Find out what's new and more

Creating 3D Views in Teigha BIM Using Commands

In Teigha BIM source code, commands are implemented in the form of a container and usually a separate project. At this point in Teigha BIM there is a TB_DevGuideCommands project for this. The project is built into a file with the extension ".tx".

rfa rvt Example

External Parameter Definitions in Teigha BIM

Teigha BIM supports external parameter definitions, which are entities stored in external text files and not included in project/family documents but can be imported into documents. Parameter elements of the ParamElemExternal class store the guid of an external parameter definition.

rvt rfa getting started

Creating Textured Materials using Helper Classes for Assets in Teigha BIM

Teigha BIM supports fourteen default materials: Ceramic, Concrete, Generic, Glazing, Hardwood, MasonryCMU, Metal, MetallicPaint, Mirror, PlasticVinyl, SolidGlass, Stone, WallPaint and Water. Each material has a rendering asset, which contains material rendering properties, such as color, finishing style, bumping and so on. Textures can also be defined for a material.

Example rvt rfa

Using Collada Import with Teigha BIM

COLLADA is short for Collaborative Design Activity. DAE files are based on the XML COLLADA format, and they are used by various graphics programs to exchange digital assets under the same format. Each file consists of a set of elements that are images, lights, geometries, effects, materials, cameras, etc.

b-rep rvt rfa

Visual Styles in Teigha BIM

Similar to Teigha Drawings, Teigha BIM also has visual styles for rendering elements in a View. However, with Teigha Drawings visual styles are separate elements in the database, and with Teigha BIM visual styles are part of the View.

rvt rfa getting started

ODA Releases Teigha BIM 4.3.1

Open Design Alliance (ODA) today announced the release of version 4.3.1 of Teigha BIM, its SDK for Autodesk® Revit® files. Version 4.3.1 introduces support for version 2018 .rvt and .rfa files, and contains a number of additional enhancements.

News Release rvt rfa

Two Ways to Work with Teigha BIM B-Reps

Many elements in Teigha BIM contain B-Rep geometries in GElement, which is a geometry cache of an element. However, B-Rep is not a universal format. Each product has a specific representation of B-Reps.

An overview of B-Reps and BIM specifics can be found in the documentation (login required).

rvt rfa Example

Teigha BIM: Introduction to FillPatterns [Part 2]

FillPattern rendering is performed when rendering a corresponding shell if the OdGiFill traits attribute is supplied. As described in a previous article, OdGiFill is supplied by an OdBmFillPatternElem::subSetAttributes(OdGiDrawableTraits* pDrwTraits) call if an existing OdBmFace->OdBmGFilling->PatternId is present. OdGiFill represents the hatch data needed for a FillPattern to be rendered, which is not enough. To render the pattern correctly, OdGiFaceData and OdGiMapperItemEntry are also required.

rvt rfa Example

Teigha BIM: Introduction to FillPatterns [Part 1]

OdBmFillPatternElem is bound to a face via OdBmFace->OdBmGFilling->PatternId. So while traversing faces in BrepRenderer, for every face we obtain an OdBmFillPatternElem ID via IBrFace->getFillPatternId(). See the code below:

rvt rfa Example

Working with Labels in Teigha BIM

LabelUtilsPE is a protocol extension (PE) that moves label related functionality outside of core Teigha BIM functionality, allowing Teigha BIM member developers to implement their own protocol extension for support of different localizations. For now, a protocol extension with English labels is implemented as an example.

rvt rfa extensions