Forum Replies Created
-
AuthorPosts
-
Gergely Fehér
KeymasterHi Daniel,
I think it is not possible to create an object like that with simple 2d scripting. For a workaround, you can do it with a lib based MVO, where you can set up a parameter for that, reach it from your objects and create different views for editing and printing/exporting.
Or you can do it without GDL: put these object to a new layer, and simply turn it off before printing/exporting.Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterWALL_SKINS_BMAT_NAMES did not work in 3D views in AC18&19. It will be corrected for AC20.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterHi,
REQUEST ("Full_ID_of_parent", "", id_string)For annotation elements linked or hotlinked on the floor plan, returns all identifiers (Master ID) of the linked modules and the parent library parts’ identifier set in the tool’s settings dialog box in the id_string variable (otherwise empty string). Causes warning if used in parameter script.
Is this what you’re looking for?
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterPlease attach the gsm file in zip.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterYou can create a different model for calculation based on GLOB_VIEW_TYPE = 9. This will work from AC19.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterIn this sample code, you can do it simply:
text2 0, 0, strparam[a]In general, you can use the “PARVALUE_DESCRIPTION” function. Check it on the bottom of this page.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterI corrected the codes: please use ohter variables than i for the loops in this forum. “i” in square brackets is for italic in BBCode, that’s why it is eliminated from codes.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterHow do you get the ski_no value?
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterLet’s clarify two things: in scripts you can define variables only. Parameters can only be created on the parameter list view of the GDL editor, and the available parameter list of any object is fixed, cannot be changed in scripts (except of the newparameter command in backward migration).
Variables can not be reached or read by labels or listing or addons. If you need to “export” anything from your object, you need to add a parameter for it, and set it’s value in the paramscript. From labels you can reach parameters with a request (ASSOCLP_PARVALUE).Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterYou should add an integer parameter to your macro, for example “hotspotIdStart” and give a proper value (greater then the amount of hotspots placed in the macro) to it when you call the macro.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterJoachim,
I started to investigate your first question about the areas, but it would help a lot if you can send me a pla in mail.About the zone areas: currently the zone areas does not take care of the wallniche/wallhole commands. The additional areas are calculated by the width of your window, and the depth of the additional area is calculated with the value of Parapet Wall Inset. You’ll find this value in the Details page in GDL Editor, in the Compatibility Options palette, near the Nominal Frame Thickness. Please check the calculations in AC’s standard library, and feel free to ask if you have any additional questions.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterYou should create editable hotspots for your object. Check it in the reference guide: https://gdl.graphisoft.com/gdl-basics/hotspots-graphical-editing/
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterIt works for me (maybe you should check with a bigger gap between your blocks, as they are overlapping in your sample…), but you should modify your script a bit:
!MASTER dim intparam[5] intparam[1] = 1 intparam[2] = 2 intparam[3] = 3 intparam[4] = 4 intparam[5] = 5 dim descparam[5] descparam[1] = 'opt1' descparam[2] = 'opt2' descparam[3] = 'opt3' descparam[4] = 'opt4' descparam[5] = 'opt5'!Paramscript for k=1 to 5 values{2} "a"+str(k,1,0) intparam, descparam next kYou should avoid using “mixed” type arrays.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterJoachim,
I suggest to not use “mixed” type arrays. It would be better, to do the following:
dim intValues[3] intValues[1] = 1 intValues[2] = 2 intValues[3] = 3 dim strDescriptions[3] strDescriptions[1] = 'opt1' strDescriptions[2] = 'opt2' strDescriptions[3] = 'opt3' values{2} "param" intValues, strDescriptionsGergely Fehér
Team Leader, Library Team
GRAPHISOFT SEGergely Fehér
KeymasterIn your sample “param”+STR(i,1,0) is a string, which can’t be check if it is equal with 2, as 2 is an integer.
Gergely Fehér
Team Leader, Library Team
GRAPHISOFT SE -
AuthorPosts