We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2010-11-30 03:40 PM - last edited on 2024-09-09 10:58 AM by Doreena Deng
API_CurtainWallType curtainWall; API_CWallSegmentType cwSegment; API_CWallFrameType cwFrame; API_CWallPanelType cwPanel; API_CWallJunctionType cwJunction; API_CWallAccessoryType cwAccessory;
2010-11-30 06:53 PM
Matti wrote:Take a look at the documentation for ModelAccess - there are methods to access all the 3D primitives.
I need to create 3D representation of curtain wall for export. I know that curtain walls in AC consists of segments, frames, panels, junction and accessories.
Here is couple of questions:
What is easiest way get access to curtain wall geometry?
How get access to curtain wall components using API_CurtainWallID?
2010-12-08 03:22 PM
// frames GSSize nFrames = BMGetPtrSize (reinterpret_cast<GSPtr>(memo.cWallFrames)) / sizeof (API_CWallFrameType); for (idx = 0; idx < nFrames; ++idx) { err = ACAPI_Database (APIDb_IsCWPanelDegenerateID, &memo.cWallFrames[idx].head.guid, &isDegenerate); if (!isDegenerate) { elems.Push (memo.cWallFrames[idx].head); } else { GS::Guid guid = APIGuid2GSGuid (memo.cWallFrames[idx].head.guid); WriteReport ("Degenerate Frame: %s", (const char*) guid.ToUniString ().ToCStr ()); } } // panels GSSize nPanels = BMGetPtrSize (reinterpret_cast<GSPtr>(memo.cWallPanels)) / sizeof (API_CWallPanelType); for (idx = 0; idx < nPanels; ++idx) { err = ACAPI_Database (APIDb_IsCWPanelDegenerateID, &memo.cWallPanels[idx].head.guid, &isDegenerate); if (!isDegenerate) { elems.Push (memo.cWallPanels[idx].head); } else { GS::Guid guid = APIGuid2GSGuid (memo.cWallPanels[idx].head.guid); WriteReport ("Degenerate Panel: %s", (const char*) guid.ToUniString ().ToCStr ()); } }