Base func

AimHello World - Your fist C++ script on ARCHICAD
File NameHello World (en).cpp
How useDeclares a string variable, writes "Hello, World!))) " Into it, and displays it in a message box

AimHello World - Your fist C++ script on ARCHICAD
File NameRead and set the value of the element GDL parameter..cpp
How useSelect a library element (object). The program reads the value from the "MY_TEXT" parameter and writes the new value "Hello, World!)))" There. If the object has no such parameter, then reading and writing will be performed from/to the object ID

AimTrim spaces in a string, translate to upper and lower case
File NameAlltrim and ToLower and ToUpper (en).cpp
How useDeclares a string variable, writes " Warm Sea " into it. To show the result of the functions - "Warm Sea", " WARM SEA ", " warm sea " to the message window

AimRead and summarize volumes from elements of type "Wall " with ID = "Contour "
File NameQuantity(en).cpp
How useCreate a few walls in the project. Assign them ID = "Contour". Run script = in the message window the volumes of these walls will be listed and at the end the total volume is displayed.

AimThe message in the window
File Nametsalert(en).cpp
How useThe script displays a message in the window with the Ok button.

AimTransfer object values from internal to user parameters
File NameTransfer object values from internal to user parameters.cpp
How useIn the script there is a place where we can write pairs of properties from where and where to copy the values ​​of the parameters: // in column 0 - the name of the parameter where to get the data, in column 1 - the name of the property where to write ts_table (TableDescr, "add_row ", 0, "TS_LIVING_ROOM_AREA ", 1, "S living "); Here - TS_LIVING_ROOM_AREA - the name of the object parameter where to get the value. "S living " - the name of the user parameter, where to transfer the value. Note that the data types of the parameter pairs must match. You can create any number of such bundles = when executing the script for all objects, the values ​​of the specified internal parameters will be transferred to user parameters. User parameters are properties created in the classifier for elements in ARCHICAD 21 and higher.

AimSum the edge lengths of selected Morphs
File NameEdge length selected Morph elements.cpp
How useCreate several Morph elements in the project. Select them. Run the script = all sums of Morph edge lengths in the selection will be listed in the window and at the end - the total length. Edges are summed including internal, if any.


AimLanding an element on a curved surface
File NameGravityElem(en).cpp
How useSelect the item to land. Then select the item to be used as the landing surface. = the element will land on the surface.

AimLanding beams on a curved surface, taking into account the angle of inclination
File NameGravityBeam(en).cpp
How useSelect the element "beam ". Select the item to be used as a landing surface. = The beam will land on the surface so that the start and end points are on the surface.

AimLanding 3d grid points on a curved surface
File NameGravityMeshSurface(en).cpp
How useThen select the 3d mesh. Use the mouse to select the element that will be used as a surface for landing. = Points on the 3d grid surface will land on the surface.


AimCell copying - range_copy and range_paste
File NameExcel-copy-paste.cpp
How useOpen an Excel spreadsheet. Write something in the range of cells "H10: I11 " and execute the script = the contents of these cells will be copied to "H20: I21 "

AimSet the width of the column or multiple columns
File NameSet the width of the Excel column.cpp
How useSets the width of the columns 'B', 'C' and 'D' as range "B:D" in the table Excel.

File Name
How use

Exchange of data between scripts

AimExternal variables - Extern
File NameExtern variables.cpp
How useAt startup, creates an external variable named "My Variable", writes 100 into it, reads the value and shows it in the message window.