License delivery maintenance is planned for Saturday, July 26, between 12:00 and 20:00 CEST. During this time, you may experience outages or limited availability across our services, including BIMcloud SaaS, License Delivery, Graphisoft ID (for customer and company management), Graphisoft Store, and BIMx Web Viewer. More details…

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

How to put two different finishes from the complex profile wall warp the door and window side faces?

Noody
Contributor

Hi,

I have a problem in Archicad where I'm unable to make the bottom and top wall finishes wrap evenly over the door side faces, the same way they do on the front face of the wall.
I've attached some screenshots of the wall and its modifiers for reference.

The wall is composed (from inside to outside) of the following layers:
Gypsum Plaster, Brick, and then at the bottom: Membrane – Rainproof and Hard Styrofoam, while at the top: Soft Styrofoam and Plaster.

All materials can have their height and width adjusted, except for the Brick and the Rainproof Membrane.

As I mentioned earlier, when I place a door into that wall, the side fill around the door doesn't look as it should. I tried to mark on the image how it's supposed to appear.
Also, I noticed that when I set the Hard Styrofoam width to 0, the Rainproof Membrane takes its place in the fill (shown in the image).

What could be causing this issue, and how can I solve it?

 

Operating system used: Windows


image.pngimage.pngimage.pngimage.pngimage.pngimage.png
1 ACCEPTED SOLUTION

Accepted Solutions
Solution

This is the code i've been using. Notice for someone who is still new to all of this as me. For the object, you need to add 4 parameters and assign them Type as Surface and pick the paint you want to have for it. Also, you could use 2 more if you need for the bottom ones on the side, but dont forget to change the name variable in the code.

 

! Window parameters |CHANGE ONLY IF YOU NEED CUSTOM WIDTH AND HEIGHT"
!a = 0.60 ! width (m)
!b = 0.60 ! height (m)


! Frame thickness and depths for different parts
frame_thick = 0.010 ! 1 cm thickness of frame strips

frame_depth_left_bottom = 0.095
frame_depth_left_top = 0.165

frame_depth_right_bottom = 0.095
frame_depth_right_top = 0.165

frame_depth_top = 0.165
frame_depth_bottom = 0.095

! Define wall thickness (add this at the top)
wall_thick = 0.05 ! example wall thickness

! Define segment height early
segment_height = 0.045 ! 4.5 cm bottom segment

! LEFT vertical strip – bottom part
material mat_frame_bottom
add (a*0.5 - frame_thick), 0, wall_thick
block frame_thick, segment_height, frame_depth_left_bottom
del 1

! LEFT vertical strip – top part
material mat_frame_left
add (a*0.5 - frame_thick), segment_height, wall_thick
block frame_thick, b - segment_height, frame_depth_left_top
del 1

! RIGHT vertical strip – bottom part
material mat_frame_bottom
add -(a*0.5), 0, wall_thick
block frame_thick, segment_height, frame_depth_right_bottom
del 1

! RIGHT vertical strip – top part
material mat_frame_right
add -(a*0.5), segment_height, wall_thick
block frame_thick, b - segment_height, frame_depth_right_top
del 1

! Calculate left edge X coordinate for horizontal strips
left_edge_x = -(a/2 - frame_thick)

! Calculate width to cover full window minus both frame thicknesses
strip_width = a - 2*frame_thick

! TOP horizontal strip
material mat_frame_top
add left_edge_x, b - frame_thick, wall_thick
block strip_width, frame_thick, frame_depth_top
del 1

! BOTTOM horizontal strip
material mat_frame_bottom
add left_edge_x, 0, wall_thick
block strip_width, frame_thick, frame_depth_bottom
del 1

View solution in original post

11 REPLIES 11
Barry Kelly
Moderator

Unfortunately the door/window will only show one material to the side.

It can not show multiple materials.

You will either have to script your own doors and windows (can be done, but I wouldn't do it unless you have your own door and window objects as I do).

Or you have to place a thin column or morph inside the edge of the door window.

 

See this post for ideas ...

 

https://community.graphisoft.com/t5/Modeling/How-to-make-two-different-finishes-from-the-complex-pro...

 

Barry.

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Lingwisyer
Guru

I think I used a Window Niche to faux it previously since you can assign an independant Surface to the niche. Obviously this requires manual setup,

 

Ling.

AC22-28 AUS 3110Help Those Help You - Add a Signature
Self-taught, bend it till it breaksCreating a Thread
Win11 | i9 10850K | 64GB | RX6600 Win11 | R5 2600 | 16GB | GTX1660

I tried using code. I duplicated the Archicad window and made it "my own". I inserted parameters in the window and added code, but it's not working out so well so far. It places a niche somewhere else. Is there any possible way you could help me with this? Or, if not, could you please send me a simple window that utilizes that niche for complex walls? Im new to Archicad and it helps me build everything faster, but there is a strange rule in my country where a house has to have that bottom height with f.e. 5cm strong Styrofoam and above it a soft one. As shown in the images I placed in this article.

Do you mean by copying their WIndow Niche and manipulate it via code?

Quick update, i managed to make what i want. So basically, with running through some articles and using help from ChatGPT, i managed to make it. I added a small thickness on the side so it goes over the wall complex and made four parameters for fill surface. In the code, i can change the thickness and depth of all 6 strips i have. Why 6? On the bottom of the left and right strip, I have different depths on the same strip side, so i need to have a chance to change the height and depth of it. The image attached is showing what i wanted. If any "problems" or issues could occur with this, i would be glad to hear it.


image.png

I have added the split wallniche to the simple window opening.

Zip file is attached for that object (it is actually version 22 so most people can use it).

 

It is only the outside reveal that is split.

 

BarryKelly_0-1751503782013.png

Barry.

One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Solution

This is the code i've been using. Notice for someone who is still new to all of this as me. For the object, you need to add 4 parameters and assign them Type as Surface and pick the paint you want to have for it. Also, you could use 2 more if you need for the bottom ones on the side, but dont forget to change the name variable in the code.

 

! Window parameters |CHANGE ONLY IF YOU NEED CUSTOM WIDTH AND HEIGHT"
!a = 0.60 ! width (m)
!b = 0.60 ! height (m)


! Frame thickness and depths for different parts
frame_thick = 0.010 ! 1 cm thickness of frame strips

frame_depth_left_bottom = 0.095
frame_depth_left_top = 0.165

frame_depth_right_bottom = 0.095
frame_depth_right_top = 0.165

frame_depth_top = 0.165
frame_depth_bottom = 0.095

! Define wall thickness (add this at the top)
wall_thick = 0.05 ! example wall thickness

! Define segment height early
segment_height = 0.045 ! 4.5 cm bottom segment

! LEFT vertical strip – bottom part
material mat_frame_bottom
add (a*0.5 - frame_thick), 0, wall_thick
block frame_thick, segment_height, frame_depth_left_bottom
del 1

! LEFT vertical strip – top part
material mat_frame_left
add (a*0.5 - frame_thick), segment_height, wall_thick
block frame_thick, b - segment_height, frame_depth_left_top
del 1

! RIGHT vertical strip – bottom part
material mat_frame_bottom
add -(a*0.5), 0, wall_thick
block frame_thick, segment_height, frame_depth_right_bottom
del 1

! RIGHT vertical strip – top part
material mat_frame_right
add -(a*0.5), segment_height, wall_thick
block frame_thick, b - segment_height, frame_depth_right_top
del 1

! Calculate left edge X coordinate for horizontal strips
left_edge_x = -(a/2 - frame_thick)

! Calculate width to cover full window minus both frame thicknesses
strip_width = a - 2*frame_thick

! TOP horizontal strip
material mat_frame_top
add left_edge_x, b - frame_thick, wall_thick
block strip_width, frame_thick, frame_depth_top
del 1

! BOTTOM horizontal strip
material mat_frame_bottom
add left_edge_x, 0, wall_thick
block strip_width, frame_thick, frame_depth_bottom
del 1

Thanks a lot! 

cuba
Expert

Another workaround: add an empty opening (and make it slightly wider 1mm), the sill of the opening must start just above the plint to keep the material

 

empty opening.png

Apple M1 Max 32 GB Ventura
AC27

Setup info provided by author