We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Custom Corner Column Object

Anonymous
Not applicable
Hey guys,

My name is Chris Maley and i live in Geraldton, Australia. I am currently learning this awesome program and drafting in general from a local drafty here in town.

He has asked me to make this corner column thingy he made out of some walls, a slab and three column's into an object he can freely edit.

He supplied me with an existing column object that is already scripted so that i may learn the scripting behind its creation, and it was very helpful to dissect.

Twin Multi Column

This is the existing column that has an interface script, but i think it was saved as a non-editable gsm object in which case, i'm not exactly sure
how they assigned ht_1 to height, a1 to width etc.
Also this object has alot of other features which i don't require in my object like shape of sections, max sections, distance between centers and fill. I simply want to create an object with an interface script with custom height, width, depth and material values for three sections, base, slab and columns.

The object in question

In the 3d script of my object i saved it as editable and found the co-ords for geometry creation but if i assign a ht_1 param to part 1 of the base wall and link it to the interface script it will only move that part of the wall's height and not effect the top slab or column's at all.

! Document name: 
!
!
!   Name     : 3 Pier Corner Column.gsm
!   Date     : Tuesday, 3 October 2006
!   Version  : 10.00
!   Written by ArchiCAD 
!

mulx	A/   0.6484375
muly	B/  0.64453125
mulz	ZZYZX/3.042999982834


sprism_{2} mat_1, mat_1, mat_1,
             9,            0,            0,            1,            1,        0.858,            0,
           0,            0,            1,            0,           0,            0,
        57211.44362962, -33052.06768026,     15, ind(material," Paving - Brick"),
        57211.41362962, -33051.93768026,     15, ind(material," Paving - Brick"),
        57211.81362962, -33051.93768026,     15, ind(material," Paving - Brick"),
        57211.92362962, -33051.82768026,     15, ind(material," Paving - Brick"),
        57211.33362962, -33051.82768026,     15, ind(material," Paving - Brick"),
        57211.33362962, -33052.17768026,     15, ind(material," Paving - Brick"),
        57211.57362962, -33052.17768026,     15, ind(material," Paving - Brick"),
        57211.58362962, -33052.06768026,     15, ind(material," Paving - Brick"),
        57211.44362962, -33052.06768026,     -1, ind(material," Paving - Brick")
body    -1
For instance here, this is code from the 3d window of my object and i saw that 0.858 value is the height so i could replace that with a param, but it doesn't effect any other object so i guess you would need to group all these together. That begs the question of how does it then only change this objects height and not all objects of the group..

I figured for width and depth i could replace ' 57211.44362962 ' values with param's too but i'm simply not sure which co-ords in x, y and z are which.

I realise i am a newcomer to the scene and if all this has already been covered in a previous thread i apologize; it's hard to find keywords to search on this particular issue.

Again i apologize if the answer to this problem is so simple that it requires the reader to re-evaluate the intellect of civilian scum such as myself

Thanks in advance for any help,

Chris Maley
6 REPLIES 6
Frank Beister
Moderator
A quick response without reading your whole post exactly:

You have to create the editable parameters in the parameter list of the object. use the name of the parameter in this list as value of the sprism-command. You can change the height individual in the instances of the object in the plan by using the object settings dialog.
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Chris Phillips
Contributor
Hi

As a point of principal, I set up objects to convert from the model at the 0,0,0 origin (of the species), as this tends to make the coordinate info more understandable and makes the process of adding parameters into the parameter script simpler.

Chris Phillips

Architecture - another non profit occupation!
Anonymous
Not applicable
chris

your going to have to learn some of the basic gdl commands like prism
i would suggest that you attempt some basic scipting from scratch rather
than drawing the object in 3D then saving as a gdl object

you might find it a bit tougher at first but in the long run you will be much better able to control your objects

set height,depth & width as parameters in parameter script

in 3d script
prism_ 5,height

-width/2, -depth/2,15,
width/2, -depth/2,15,
width/2, depth/2,15,
-width/2, depth/2,15,
-width/2, -depth/2,-1

in 2d script

rect2 -width/2, -depth/2, width/2, -depth/2
Chris Phillips
Contributor
You miss the point.
I am fully aware of these commands and have been for the best part of 18 years. The point is that if you are a beginner and starting from what looks to be a 3d object, them starting at a known zero gives you a better chance of making a stab at interpreting the code, ie what old enigma decrypters would call, in their public school way, a crib.
Yes, you need to know the gdl primitives, but premodelling can give you a valuable insight into the structure of the script.

Chris Phillips, user since 1989 version 3.42
Anonymous
Not applicable
Thanks very much for all of your replies, damien lebeck especially thanks mate

Honestly i wanted to learn this language from the beginning so i would have a better understanding of it all.
Im used to 3ds max and that is a little different if you know what i mean.

Thanks again,

Chris
Anonymous
Not applicable
get the GDL Reference Manual from GS (or use thru Archicad On-Line Help) & GDL Cookbook by David Nicholoson-Cole

two pretty good references to get started, its a pretty easy language to get started with, just got to keep it simple good luck