Dear Community,
I am developing a custom SketchUp plugin that generates components with custom attribute dictionaries (attribute_dictionaries
) where I store complex attributes (including Vector3d
, Point3d
, and Array
). These attributes are essential for the plugin to re-read and process components later.
The problem arises when I use SketchUp’s “Component Options” tool on these components. I receive the following error:
“ERROR: Callback function error: Unable to get property ‘length’ of undefined or null reference @ /dcbridge.js[601]”
From what I have observed so far:
- The dictionaries created by my plugin contain complex attributes (
Vector3d
,Point3d
, andArray
), which seem not to be supported by the “Component Options” tool, or at least are not formatted conventionally (e.g., according to JSON standards).
- If I remove these complex attributes from the dictionary, the tool works correctly again. However, my plugin requires these complex data to re-read and process the components later, so I cannot permanently remove them.
Here are my questions:
- Is there a way to exclude my custom dictionary from being read by the “Component Options” tool?
- What is the recommended practice for storing complex data, such as vectors, 3D points, or arrays, in a component’s attribute dictionary without interfering with SketchUp’s native functionality?
- When exporting to IFC, my custom dictionaries are also included, which confirms that SketchUp attempts to read them. Is there a way to “hide” or make a custom dictionary invisible to SketchUp so that it does not get exported in the IFC file?
Thank you in advance for any suggestions or advice!
Best regards,