BIM Coordinator Program (INT) April 22, 2024
Find the next step in your career as a Graphisoft Certified BIM Coordinator!
Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Ceiling Editor v2.01 simple correction

Hi,
I was trying to contact with the author of the Ceiling Editor object (the one from BIM Components) no luck for now...but...I have done a little improvement (a dirty way for now) so to be able to schedule the ceiling area which might / and was crucial in my practice.

So:
If anyone wishes to add this to the object pleas add a parameter: "Ceiling_area" and place it after "gs_list_custom_5" (so to be shown in the proper section and just shown).

next place the below code just above
goto "MasterEnd"
in the master script:
!area calculation for listing

! area calculation

		polyArea = 0
		for q = 1 to nc - 1
			idx = 2 * q - 1
			x1 = field_poly[1][idx]
			y1 = field_poly[1][idx + 1]
			x2 = field_poly[1][idx + 2]
			y2 = field_poly[1][idx + 3]
			polyArea = polyArea + (x2 + x1) * (y2 - y1)
		next q
		polyArea = abs (polyArea) / 2
		holeArea = 0
		for wo = 1 to nHoles
			for q = 1 to n_hpoly[wo] - 1
				idx = 2 * q - 1
				x1 = hole_poly[wo][idx]
				y1 = hole_poly[wo][idx + 1]
				x2 = hole_poly[wo][idx + 2]
				y2 = hole_poly[wo][idx + 3]
				holeArea = holeArea + (x2 + x1) * (y2 - y1)
			next q
		next wo
		holeArea = abs (holeArea) / 2
		polyArea = polyArea - holeArea
		Ceiling_area=polyArea
		Parameters Ceiling_area=Ceiling_area
The calculation is copied from the 2d script - and does not interfere with the calculation done there.

BTW if by any chance the "bMovedIntNodes" sets to ON when editing the part then set it back to off ( allows the initial state of rectangular ceiling and allowing to add the side nodes)

Edit:
One more change: If You wish the gridlines were snpable:

search the 2d script for:
line2 sectp[1], sectp[2], sectp[w + 1][1], sectp[w + 1][2]
and add a line below:
hotline2 sectp[1], sectp[2], sectp[w + 1][1], sectp[w + 1][2]
It is basically the same code as above but adding a hotline in the same place the gridline is. I did not add the IDs for the hotlines so anchoring dimensions to them may be risky (no time to analyze the whole code).


Have fun,
Best regards,
Piotr
0 REPLIES 0
Learn and get certified!