Modeling
About Archicad's design tools, element connections, modeling concepts, etc.

Wall Accessories - Mouldings & Panels

Anonymous
Not applicable
I am using the Wall Accessories - Mouldings & Panels to model a wall with two different siding treatments. The Wall is specified as a Cedar Shingle and the Wall Accessory is a Base Board with a 8'-1" Height and a Material of Horizontal Siding. All is well except for the ends of the wall. The Molding or panel adds an extra little piece at each end.

Mouldings&Panels.JPG
39 REPLIES 39
Stress Co_
Advisor
Jay wrote:
I am using the Wall Accessories - Mouldings & Panels to model a wall with two different siding treatments.


Does anyone use "Cadimage's Accessory Pack" to achieve the same goal?

http://www.cadimagetools.com/home.php?page=products&productID=168

If it takes me more than an hour of messing around with the Wall Accessories-Mouldings & panels... I might as well spend the $$ on an addon that will save me the time. But, and this is my question, will it?


Marc
(GDL Script-a-phobic)
Marc Corney, Architect
Red Canoe Architecture, P. A.

Mac OS 10.15.7 (Catalina) //// Mac OS 14.5 (Sonoma)
Processor: 3.6 GHz 8-Core Intel Core i9 //// Apple M2 Max
Memory: 48 GB 2667 MHz DDR4 //// 32 GB
Graphics: Radeon Pro 580X 8GB //// 12C CPU, 30C GPU
ArchiCAD 25 (5010 USA Full) //// ArchiCAD 27 (4030 USA Full)
Anonymous
Not applicable
Marc, This may be something that you already know, but I have been successful at transferring the Accessory settings from one accessory to another using the Alt-Click and Ctrl-Alt Click method. Also looks like you can save Favorites in the Wall Accessory Dialog box like you can with the Wall framing Tool.
Anonymous
Not applicable
I have attempted to fix the wainscot and wall panel by using the existing code which is very complex, and have not been able to fix the bug using the old code. I did however re-write the portion of code (commenting out the old code) so it is not only simple, but works! I have not done any of the curved walls code yet and most likely wont unless there is a desire for it open the wall accessory object as described earlier in this thread, you will want to save this as a different object name. while it does seem to work, i have not tested it out too much. then copy paste the following code over the its existing portion in the 3D script. The code selection runs from the Moldings comment down to where it has !!curved wall

!!----------!!!----------!!!----------!!!----------!!
!! Moldings !!! Moldings !!! Moldings !!! Moldings !!
!!----------!!!----------!!!----------!!!----------!!

group "molding and panel"
	if ac_wall_radius<eps then
	!! Straight Wall
If chair_prof=0 Then chair_mod=.5*chair_height
If Base_prof=0 Then base_mod=base_height
If crown_prof=0 Then crown_mod=crown_height

		muly dir
	
		!!--------------!!
		!! Base Molding !!
		!!--------------!!
	
		if base_prof>0 then
			if abs(base_elev)>eps then
				offset=base_elev
				transfer=ac_bot_poly
				gosub 9501 !! Do the polygon offset
			else
				polygon=ac_bot_poly
			endif
	
			if base_height<eps then
				resize_base=1
			else
				resize_base=base_height/mprht[base_prof][2]
			endif

			call "Profile Extruder" parameters	 profile=base_prof, mat=base_mat, polyline=polygon,
								resize=resize_base, pos=0, over_beg=over_beg, over_end=over_end
		endif

		!!---------------!!
		!! Chair Molding !!
		!!---------------!!
	
		dim level_poly[][]
		for i=1 to bot_num
			level_poly[1]=ac_bot_poly[1]
			level_poly[2]=ac_bot_poly[2]+chair_elev
		next i
		
		if chair_prof>0 and (molding_type=value_1 or molding_type=value_2) then
			if chair_height<eps then
				resize_chair=1
			else
				resize_chair=chair_height/mprht[chair_prof][2]
			endif
		
			call "Profile Extruder" parameters profile=chair_prof, mat=chair_mat, polyline=level_poly,
								resize=resize_chair, pos=1, over_beg=over_beg, over_end=over_end
		endif
		
		!!---------------!!
		!! Crown Molding !!
		!!---------------!!
		
		if crown_prof>0 and (molding_type=value_1 or molding_type=value_3) then
			if abs(crown_elev)>eps then
				offset=-crown_elev
				transfer=ac_top_poly
				gosub 9501 !! Do the polygon offset
			else
				polygon=ac_top_poly
			endif
	
			if crown_height<eps then
				resize_crown=1
			else
				resize_crown=crown_height/mprht[crown_prof][2]
			endif
		
			call "Profile Extruder" parameters	 profile=crown_prof, mat=crown_mat, polyline=polygon,
								resize=resize_crown, pos=1, over_beg=over_beg, over_end=over_end
		endif
		del 1
	
		!!-----------------!!!-----------------!!!-----------------!!
		!! Create Wainscot !!! Create Wainscot !!! Create Wainscot !!
		!!-----------------!!!-----------------!!!-----------------!!

		if wain_thk>eps then
!			if base_prof<>0 then offset=mprht[base_prof][2]*resize_base+base_elev else offet=base_elev
!		
!			if abs(offset)>eps then
!				transfer=ac_bot_poly
!				gosub 9501 !! Do the polygon offset
!			else
!				polygon=ac_bot_poly
!			endif
!		
!!!!!			print "vardim1(polygon)=",vardim1(polygon)
!!!!!			for i=1 to vardim1(polygon)
!!!!!				print polygon, 15
!!!!!			next i
!
!			for i=1 to vardim1(polygon)
!				!put polygon, 15
!			next i
!		
!			polygon=empty
!		
!			if molding_type=value_1 or molding_type=value_2 then
!				if chair_prof<>0 then offset=-mprht[chair_prof][2]*resize_chair else offset=0
!		
!				if offset<>0 then
!					transfer=level_poly
!					gosub 9501 !! Do the polygon offset	
!				else
!					polygon=level_poly
!				endif
!			else
!				if crown_prof<>0 then offset=-mprht[crown_prof][2]*resize_crown-crown_elev else offset=-crown_elev
!		
!				if abs(offset)>eps then
!					transfer=ac_top_poly
!					gosub 9501 !! Do the polygon offset	
!				else
!					polygon=ac_top_poly
!				endif
!			endif
!
!!!!!			print "vardim1(polygon)=",vardim1(polygon)
!			for i=vardim1(polygon) to 1 step -1
!				!put polygon, 15	
!			next i	
!			!put use(2),-1
!		
!			polygon=empty	!! Empty The Polygon Array
		
			material wain_mat
PUT -ref_thickness,base_elev+base_height-base_mod,15
PUT -ref_thickness,chair_elev-chair_height+chair_mod,15
PUT ac_wall_length+ref_thickness,chair_elev-chair_height+chair_mod,15
PUT ac_wall_length+ref_thickness,base_elev+base_height-base_mod,15
			rotx 90
			prism_	nsp/3, -wain_thk*dir,
					get(nsp)
			del 1
		endif
	
		!!-------------------!!!-------------------!!!-------------------!!
		!! Create Wall Panel !!! Create Wall Panel !!! Create Wall Panel !!
		!!-------------------!!!-------------------!!!-------------------!!
	
		if wallp_thk>eps and molding_type=value_1 then
!			polygon=level_poly
!			for i=1 to vardim1(polygon)
!				!put polygon, 15
!			next i
!			polygon=empty
!	
!			if crown_prof<>0 then offset=-mprht[crown_prof][2]*resize_crown-crown_elev else offset=-crown_elev
!			if abs(offset)>eps then
!				transfer=ac_top_poly
!				gosub 9501 !! Do the polygon offset
!			else
!				polygon=ac_top_poly
!			endif
!	
!			for i=vardim1(polygon) to 1 step -1
!				!put polygon, 15
!			next i
!			!put use(2), -1
!	
!			polygon=empty
	
			material wallp_mat
PUT -ref_thickness,chair_elev-chair_mod,15
PUT -ref_thickness,ac_wall_height-crown_height+crown_mod,15
PUT ac_wall_length+ref_thickness,ac_wall_height-crown_height+crown_mod,15
PUT ac_wall_length+ref_thickness,chair_elev-chair_mod,15
			rotx 90
			prism_	nsp/3, -wallp_thk*dir,
					get(nsp)
			del 1
		endif
	else

Have fun!

-- Matthew Peychich
Anonymous
Not applicable
Matthew wrote:
I have attempted to fix the wainscot and wall panel by using the existing code which is very complex

-- Matthew Peychich
Great work, Matthew!

I first got alerts, until i realise that eps=0.0001 was not declared at the top of the master script. I did it and then it works.
Unfortunately, for curved walls, i no more have 3d element. A bit anoyous.

As you said, these scripts are very complex, and i would like for GS to solve this.
Anyway, thanks for your effort.
Anonymous
Not applicable
The code for curved walls is fairly thick but it does not jump to that sub routine. i didnt know that it stopped curved 3d models, ill look at it and maybe find a code fix

-- Matthew Peychich
Anonymous
Not applicable
Matthew wrote:
The code for curved walls is fairly thick but it does not jump to that sub routine. i didnt know that it stopped curved 3d models, ill look at it and maybe find a code fix

-- Matthew Peychich
Matthew, dont' care, it is my mistake!
When i copy pasted your script, i deleted accidentally the four first statements for the curved wall.

All is fine now. The second mug is for you. Congrats!
Anonymous
Not applicable
Attached, a rectified macro "Profile Revolver2" (54 molding profiles, for curved walls).
I have changed the status code for edge visibility, with the "search and replace" function. Better results in rendering.

THIS IS A 8.1 PART, check before, if nothing has changed in 9. It seems that not, but be carefull.
Changes in the 3D script are notified, easy to make comparison.
Anonymous
Not applicable
hahaha, soon we will have a fairly decent accessory!
Anonymous
Not applicable
Matthew wrote:
I have attempted to fix the wainscot and wall panel by using the existing code which is very complex, and have not been able to fix the bug using the old code. I did however re-write the portion of code (commenting out the old code).......
This fix seems to not work for my application of the Wall Accessory.

The Gable end of the SEO wall is missing now.
Anonymous
Not applicable
Back side of Wall Panels.