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

How to make two different finishes from the complex profile wall wrap the window or door side faces?

Isaac Newton
Enthusiast

Good time of the day, gentlemen

 

There are some windows and doors in the complex profile wall. The wall cosists of the masonry blocks core and stucco and the brickwork tiles:

IsaacNewton_0-1675335231120.png

 

The objective is to make the two different types of finish from the wall wrap the side faces of the windows and doors, as shown on the following picture:

IsaacNewton_1-1675335478220.png

How may this objective be achieved?

11 REPLIES 11

I can't be sure as it will depend on how the complex profile wall was constructed in the profile manager. Are the two separate parts physically split in to two separate fills in the complex profile or doe the face have a node and the surface below the node displayed as facing brick and above the node as render? have you tried turning the finishes in the Wall Closer section of the parameters window for the Window and then tick the 'Show in 3D' option?

Lee Hankins
ArchiCAD 4.5 - Archicad 27UKI Apple Silicon 27.1.1
macOS Sonoma (14.2)

Thank you very much!

The profile was created as a number of separate elements, with different functions. Thus, what is supposed to be a finish is listed as a finish, and what is supposed to be the core is listed as a core. Hereby I attach the file with the complex profile of the wall in question. You may open it via options/attributes/attribute manager/import.

As to the window, I tried all the options, but non of them yielded the desired effect. I ticked the "show in 3d" in all the cases:

IsaacNewton_0-1675346435536.png

 

Right, what you need to do is split the core fill you have created at the same level vertically as the finish material and assign the same building material to that section of core as the finished face.

Screenshot 2023-02-02 at 16.10.54.png

You then need to open the wall properties dialogue and turn off the wall edge surface override.

Screenshot 2023-02-02 at 16.11.09.png

Screenshot 2023-02-02 at 16.10.45.png

 

I didn't import your surfaces or fill patterns so they are appearing solid black on my screenshots where the surfaces and fills didn't exist but hopefully that will fix your issue. you may have to recreate your modifiers once you split the core.

Lee Hankins
ArchiCAD 4.5 - Archicad 27UKI Apple Silicon 27.1.1
macOS Sonoma (14.2)

The ends of the wall will show the correct materials based on the complex profile, so turning off the end overrides should show the complex profile as you describe.

 

The problem the original poster has is that the reveals of windows only have one material.

The default windows do not have any control of this.

I don't think you can even override the reveal material, let alone split it.

I do not use the Graphisoft windows so I am unsure of this.

But if it is possible with the default windows, please let us know.

 

It is possible to do though if they would script an option to split the reveal and then use 2 WALLNICHEs in the script for which you can control the materials.

I have done this in my windows, so it can be done.

But it is not something you could add to a Graphisoft window yourself (not easily anyway).

It really needs to be added to the objects by Graphisoft themselves.

 

I assume this is what @Isaac Newton is wanting to show.

The window on the left is a Graphisoft window.

The one on the right is my window.

The end of the wall is controlled by the composite.

 

BarryKelly_0-1675392293790.png

 

My object is not perfect as it doesn't automatically choose the materials nor the height of the break.

It might be possible, I just haven't investigated it.

 

If anyone wants the code for the WALLNICHEs, it is simply something like this.

There is a WALLNICHE to each side of the frame (inside and outside).

The outside one has the ability to be split into 2 (upper and lower) and each can have a different side material.

 

extend_niche = 0.100

m1=1	!!the polygon will create a visible edge upon entry into the body being cut
m2=1	!!depth - the lengthwise edge of the cutting form will be visible
m3=1	!!the polygon will create a visible edge upon exiting the body being cut
m4=1	!!outside - the bottom edge of the cutting form will be visible
m5=1	!!inside - the top edge of the cutting form will be visible
m7=0	!!controls the viewpoint dependent visibility of the lengthwise edge

PEN pen_lin_int
MATERIAL WALL_MAT_A
WALLNICHE 6, 1, 1*0 + 2*0 + 8*0 + 16*1 + 32*0 + 64*0 + 128*0,
0, 0, -1, 0,
	-(a*0.5),0,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
	(a*0.5),0,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
	(a*0.5),b),1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
	(a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
	(-a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
	(-a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7

PEN pen_lin
if split_mat_swch = 0 then
	MATERIAL WALL_MAT_B
	WALLNICHE 6, 1, 1*0 + 2*0 + 8*0 + 16*1 + 32*0 + 64*0 + 128*0,
	0, 0, 1, 0,
	!0, 0, 1, C_-K_+extend_niche,
		-(a*0.5),0,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
		(a*0.5),0,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
		(a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
		(a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
		(-a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,
		(-a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7
else
	!Stretchy split material height
		HOTSPOT -(a*0.5), 0, 0, 101+HSID_add*(10^macro_level), split_mat_hgt, 1+128	!base
		HOTSPOT -(a*0.5), 0-0.0001, 0, 102+HSID_add*(10^macro_level), split_mat_hgt, 3	!reference
		HOTSPOT -(a*0.5), 0+split_mat_hgt, 0, 103+HSID_add*(10^macro_level), split_mat_hgt, 2	!moveable

	!Stretchy split material height
		HOTSPOT (a*0.5), 0, 0, 104+HSID_add*(10^macro_level), split_mat_hgt, 1+128	!base
		HOTSPOT (a*0.5), 0-0.0001, 0, 105+HSID_add*(10^macro_level), split_mat_hgt, 3	!reference
		HOTSPOT (a*0.5), 0+split_mat_hgt, 0, 106+HSID_add*(10^macro_level), split_mat_hgt, 2	!moveable

	if split_mat_hgt > 0 then
		WALLNICHE 4, 1, 1*0 + 2*0 + 8*0 + 16*1 + 32*0 + 64*0 + 128*0 + 256*1,
		0, 0, 1, 0,
			-(a*0.5),0,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,lower_reveal_mat,
			(a*0.5),0,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,lower_reveal_mat,
			(a*0.5),split_mat_hgt,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,lower_reveal_mat,
			(-a*0.5),split_mat_hgt,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,lower_reveal_mat
	endif
		
	if split_mat_hgt < b then
		WALLNICHE 6, 1, 1*0 + 2*0 + 8*0 + 16*1 + 32*0 + 64*0 + 128*0 + 256*1,
		0, 0, 1, 0,
			-(a*0.5),split_mat_hgt,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,upper_reveal_mat,
			(a*0.5),split_mat_hgt,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,upper_reveal_mat,
			(a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,upper_reveal_mat,
			(a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,upper_reveal_mat,
			(-a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,upper_reveal_mat,
			(-a*0.5),b,1*m1 + 2*m2 + 4*m3 + 8*m4 + 16*m5 + 64*m7,upper_reveal_mat
	endif
endif

 

 

 

Barry.

 

One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

For anyone wanting to utilise Barry's code, it's easy enough to pick out the materials in a Composite Wall using WALL_SKINS_PARAMS[1][18] externally and WALL_SKINS_PARAMS[WALL_SKINS_NUMBER][18] internally, but for a Complex Wall you would probably need to manually set the height and the top material as that command only pulls data from the wall at the FPCH and window / door sill.

 

Wish you could just call an object and it would ammend it's scripts and parameters onto the end of the host... Would be so easy to integrate an object that achieves this...

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660 
Lingwisyer
Guru

Was just thinking that it might be possible to do all of this in the host object. Would make it relatively easy to update for each library object. I was playing around with a window previously, and with an option to specify the window name, type and class it usually works.

AC22-23 AUS 7000Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win10 | R5 2600 | 16GB | GTX1660 

I use that code (or very similar) in each of my door and window objects.

So I don't need to place it as a separate object.

I am guessing you could even CALL it in as a macro (although I haven't done that).

 

Basically it is just replacing the existing WALLHOLE / WALLNICHE commands with multiple WALLNICHEs (upper, lower, inside and outside) that you can control the materials of.

Not something you would want to do with the default Archicad windows (although you could) because you would have to re-do it every time they update the library.

That is why it is easier to just add this second window opening as a separate object for the times you do want to control different reveal materials.

 

Barry.

 

One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Erwin Edel
Rockstar

I fake this with a column on either side with the same building material. It will clean up automatically with the wall. If you set a custom origin for your textures, you do need to set the same origin for the columns though.

 

Is this ideal? No. But fixing every single door and window object in your library is going to be a huge chore and after the next library update, you're back to square one... either you use the new library (and fix it) or stick with outdated library.

 

ErwinEdel_0-1690269270418.png

ErwinEdel_1-1690269286334.png

 

In these screenshots if you look carefully you can see that the top of the door reveal / recess thingy is still showing the grey bricks. It didn't bother me enough in the artist impressions to fix that one with a beam or something. (it is almost nearly fully obscured by a steel lintel)

Erwin Edel, Project Lead, Leloup Architecten
www.leloup.nl

ArchiCAD 9-26NED FULL
Windows 10 Pro
Adobe Design Premium CS5
Hmooslechner
Rockstar

How about the idea to get the whole geometry into the Window-sides?  Just some ideas:

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia