How to change Beam material in AC23?
Anonymous
Not applicable
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2019-12-10
09:23 AM
- last edited on
‎2022-09-29
09:50 AM
by
Daniel Kassai
‎2019-12-10
09:23 AM
Hello,
In AC22 API_BeamType contained attributes below:
API_OverriddenAttribute leftMat;
API_OverriddenAttribute topMat;
API_OverriddenAttribute rightMat;
API_OverriddenAttribute botMat;
API_OverriddenAttribute sideMat;
The following code was able to change the material:
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, leftMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, botMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, topMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, sideMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, rightMat);
OVERRIDE_MATERIAL(clickedElement.beam.leftMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.botMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.topMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.sideMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.rightMat, paletteController.CurrentMaterial()->index);
In AC23 which attributes should be changed to modify API_BeamType material?
Regards,
In AC22 API_BeamType contained attributes below:
API_OverriddenAttribute leftMat;
API_OverriddenAttribute topMat;
API_OverriddenAttribute rightMat;
API_OverriddenAttribute botMat;
API_OverriddenAttribute sideMat;
The following code was able to change the material:
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, leftMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, botMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, topMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, sideMat);
ACAPI_ELEMENT_MASK_SET(elementMask, API_BeamType, rightMat);
OVERRIDE_MATERIAL(clickedElement.beam.leftMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.botMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.topMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.sideMat, paletteController.CurrentMaterial()->index);
OVERRIDE_MATERIAL(clickedElement.beam.rightMat, paletteController.CurrentMaterial()->index);
In AC23 which attributes should be changed to modify API_BeamType material?
Regards,
Labels:
- Labels:
-
Add-On (C++)
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎2019-12-10 12:13 PM
‎2019-12-10
12:13 PM
Beams and columns become assemblies in AC23, comprised of a parent assembly (API_BeamType) and at least one child segment element (API_BeamSegmentType) and that's the level where the materials etc are stored. So you need to work with API_BeamSegmentType for this purpose rather than API_BeamType .
Ralph Wessel BArch
Central Innovation
Central Innovation