2025-07-18 05:53 AM
Despite every effort made, I can't call OpeningLines correctly within the 3D script,
I've requested the values from the new DW_MVOSettings rather than the old LibraryGlobals13, I think I created the right Dictionaries at the parameters.
But as I request the Lines to be drawn, I get an error that says: Dictionary not initialized or invalid at line 72 at the macro's 3D script (OpeningLines).
What could be wrong?
I'm trying to push
dict MVODoorOpLineOptions
MVODoorOpLineOptions.symbol3D.swingOrientation = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "iDW3DLineOrient", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.swingOrientation = requestValue
MVODoorOpLineOptions.symbol3D.show = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "bDoor3DOpLine", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.show = requestValue
MVODoorOpLineOptions.symbol3D.typeOut = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "iDW3DOppositeSideOpLineType", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.typeOut = requestValue
MVODoorOpLineOptions.symbol3D.typeIn = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "iDW3DOpeningSideOpLineType", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.typeIn = requestValue
call "OpeningLines" parameters a = a,
b = b,
frameThickness = gs_leaf_thk,
iOpeningType = 4,
opLineOptions = MVODoorOpLineOptions2025-07-22 12:58 PM - edited 2025-07-22 12:59 PM
Hi,
Here is my version of "GetDWOpLines.gsm" macro used in older doors/windows which I modified to be usable with both library types
But it is reading only the INT MVO for doors & windows. it can be modified further to be compatible with DACH/ USA and whatever different config of libpack is used.
2025-07-23
03:24 PM
- last edited on
2025-07-25
10:52 PM
by
Laszlo Nagy
I still wasn't able to get it to work, the requests seem to be doing right, I was able to print the captured values accordingly.
It's the Macro call that fails. Specifically at
opLineOptions = MVODoorOpLineOptions
The error itself happens in the macro script after the Dict is passed (as far as it seems) according to the warning:
2025-07-25 07:06 AM
I have also replaced the openinglines macro with the old one(renamed) in the object (from 26 in this scenario), sorry I did not clarify in the first place.
2026-05-18 07:42 PM
I got stuck in the same place as @vdentello, when I tried to call the macro through the dict (as it seems to be the way to do it).
Has anyone got any clues or workarounds?
2026-05-18 07:43 PM
i'm with a similar problem. No one knows how to fix this?
a month ago
I feel like I should've gotten used to that but I still have faith (but not much) that'll be able to set door Opening lines before 2030.
I've set a reminder so I don't miss this unsolved post's second birthday next year.
4 weeks ago
Hi,
Your code and the latest version of the macro shouldn't cause this error message.
Could there be multiple OpeningLines macros in your loaded libraries? When you Open Object by Subtype..., exact paths are shown in the dialog.
Try debugging the received dict in OpeningLines macro with prints.
Wednesday
I found out.
These are the existing options.
dict MVODoorOpLineOptions
MVODoorOpLineOptions.symbol3D.typeIn = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "iDW3DOpeningSideOpLineType", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.typeIn = requestValue - 1
MVODoorOpLineOptions.symbol3D.typeOut = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "iDW3DOppositeSideOpLineType", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.typeOut = requestValue - 1
MVODoorOpLineOptions.pen = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "penDoor2DOpLine", requestValue)
if success > 0 then MVODoorOpLineOptions.pen = requestValue
MVODoorOpLineOptions.symbol3D.show = 0
success = LIBRARYGLOBAL ("DW_MVOSettings", "bDoor3DOpLine", requestValue)
if success > 0 then MVODoorOpLineOptions.symbol3D.show = requestValue
MVODoorOpLineOptions.typeSecondary=0
MVODoorOpLineOptions.symbol3D.layout.flip = 0
MVODoorOpLineOptions.slidingOrientation = 0
MVODoorOpLineOptions.symbol3D.swingOrientation = 1
call "OpeningLines" parameters a = lfl,
b = afl,
frameThickness = gs_leaf_thk,
iOpeningType = 4,
opLineOptions = MVODoorOpLineOptions
The main problem was finding what was a "requestable" parameter from DW_MVOSettings and then putting it into the right variable from the dictionary.
For example, I need to request "iDW3DOppositeSideOpLineType" from Library Global DW_MVOSettings and nest it to the .symbol3D.typeOut key of my dictionary. Then, when I push it, it'll go to the right place. (note that for some reason I have to subtract -1 from the requested result for the line to show right)
Some parameters are a little more obvious than others. You might be able to do a full request of course but there might be a part of the dictionary that you have to fill yourself before calling.
These are all dict keys used.
! ========================================================================
! opening lines
! ========================================================================
! _DoorOpLineOptions (dict) Door Opening Line settings
! _WindowOpLineOptions (dict) Sidelight Opening Line settings
! .pen 2D 3D
! .slidingOrientation 2D 3D
! .symbol2D 2D
! .linetype
! .linetypeSecondary not used in INT Doors, value 0.
! .swingtype
! .slidingtype
! .show not used in INT Doors, turned on.
! .penGlazingLine only in _DoorOpLineOptions
! .symbol3D 3D
! .typeOut
! .typeIn
! .typeSecondary not used, always NO_LINE
! .show
! .swingOrientation