Find the next step in your career as a Graphisoft Certified BIM Manager!

Wishes
Post your wishes about Graphisoft products: Archicad, BIMx, BIMcloud, and DDScad.
SOLVED!

Circular walls

While this might not be much of an issue with others I have find it strange that AC allows the user to create a full circle wall but then splits it into 2 walls which results in extra work in modifying the wall if a door of window or other element is placed where the 2 walls meet. It would be nice if AC could handle a full circular wall as a single element. Just my  thought.

1 ACCEPTED SOLUTION

Accepted Solutions
Solution

Hello Bricklyne: Thank you very much for your response. While I am not an MCAD software guru there are certain things that you indicated aren't necessarily true. You indicated that a full circle wall has the same start and end point (true) and for that reason you can't determine the direction of the creation of the wall. That is true but not important. When I create a full circle wall the only thing that is important is what reference is used (inner surface, midline or outer surface). When creating the wall you will notice that the wall shows the same whether created rotating clockwise or counter clockwise. This is different than creating linear walls which require information about the starting and end points, the reference line and the direction the wall is created. If you click a starting point for a linear wall with either the inner or outer surface select (but not midline) you will notice that the wall is different. This can be seen when you create a linear wall going from left to right and create a second wall (with the same settings) from  the start point of the first wall and create going right to left. You will see that the two walls don't line up. Since this is not the case with circular walls all that is needed is the center point of the radius and the starting point of the reference circle (assuming a full circle) and the direction of rotation is not important.

 

If you compare it to MCAD, a circular wall is just a rotated rectangle of the wall's cross-section and I am sure that AC uses the "Spin" command. The same for ramps I am sure they use a loft command with the cross-section of the ramp. Personally I don't know which kernel AC uses but unless it is unique to AC I would think that all of the functions in the kernel would be similar to those used in MCAD. What I do know is that the kernel in AC is a surface modeler where as most MCAD software uses a solid  modeler. I'm still going to be optimistic that my wish is possible and could happen.

 

Again, thanks for the explanation and regards.

View solution in original post

8 REPLIES 8
AC_Cat
Contributor

it is a good advice!

DGSketcher
Legend

This is up there with the column / beam 89 degree rotation limit frustration.

 

It should still be possible to form a circular wall with an arc having the same start & end point. Can it  be a full "circle"? I'm not sure of the logistics on that one, particularly when placing openings.

Apple iMac Intel i9 / macOS Sonoma / AC27UKI (most recent builds.. if they work)

You got a full circle line in AC 26 so you are right to wish for a full circle wall or beam in coming versions.

B8708EB3-3A73-4212-AC25-FF71C28F4F49.jpeg

AC 27 INT 5003 - AC 26 INT 6019 ( For MEP Purposes )
AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz 16.0 GB

I see you raised up this issue before and had some answers :

https://community.Graphisoft.com/t5/Design-forum/Doors-and-windows-in-circular-wall/td-p/356596

AC 27 INT 5003 - AC 26 INT 6019 ( For MEP Purposes )
AMD Ryzen 7 5800H with Radeon Graphics 3.20 GHz 16.0 GB

Hello Mahmoud. I have actually asked about the circular wall being split into two for many years but nobody has been able to explain why this is and why can't AC allow the user to create a full circle wall as a single element. There might be a very good reason but no-one seems to have the reason. It is for that reason I brought it up as a "wish" hoping for an answer.

Apply this answer to your other thread as well.

 

It might have something to do with how Archicad's geometric object creation logic works.

So when you create a wall using a reference line or based on a polyline for example, that wall (assuming it's straight or a simple curve on plan) has a beginning and an end point (i.e. the point at which the extrusion starts in profile and the point at which it ends)

 

This might not be a significant piece of information for people who are normally drafting or modeling in the program, but it affects how it calculates other functions with the wall, window or door placement, complex profile wall configurations, and so on and so forth.

And to underline this you can actually turn on one of the display options to show wall directions and you'll see each wall has a "direction" that's indicated by an arrowhead checkmark on the reference line in plan.

Again, for most people, this is meaningless information, so much so that this display option command is turned off by default.

 

So with a full circle from a mathematical standpoint, you run into a problem when you try to apply that same logic because obviously the stand and end point are one and the same.

So how do you define the direction of the curve in this instance?

You can't.

 

And the program needs to be able to do that  (like I said, under-the-hood stuff of how it works and operates and generates geometry. Some smarter person in software engineering and development might chime in to explain how exactly it matters since my explanation is only surface level and I can only try to explain it from a basic mathematics and geometry standpoint).

So the simple solution for the program becomes to automatically split the circle into two curves that still define a circle together, but which each have a distinct and defined start and end point and both of which can have their direction arrow turned on and shown correction.

 

It might have a lot also to do with the fact that the program has to have walls have an "inside" and an "outside" (which of course lends itself to how it's constructed, where finishes or cladding are applied, and how these can be switched or interchanged on the fly and still maintain some overall logical consistency in how that wall interacts with adjacent walls or slabs),

 

And since in architecture we don't construct elements or objects in real life the way product parts are fabricated in MCAD situations, (where you can fabricate a circular part as a whole and single object that doesn't have to be assembled) the logic that the program uses (which mimics how we actually construct buildings in real life) necessarily can NOT be the same as how MCAD programs operate.

 

Revit might be a different situation since it's ostensibly based on what used to be an MCAD application (Pro-E) eons ago, or at least shares some of the logic of that world.

 

Archicad just doesn't work that way.

 

So this is probably a wish that may never get granted unless they radically change the 3D engine or kernel that it currently operates on.

 

It's a bit of a wordy response but I hope it makes some sense.

 

Simply put.

In Archicad walls have to have a "start" point and an "end" point. (and a logical relation i.e. "direction", between the two)

 

(full complete) Circles by their nature have the two points as one point.

(which makes a "direction" impossible or inconsistent)

 

Which means "logical program error" -  which is then corrected by splitting the wall in two. 

Solution

Hello Bricklyne: Thank you very much for your response. While I am not an MCAD software guru there are certain things that you indicated aren't necessarily true. You indicated that a full circle wall has the same start and end point (true) and for that reason you can't determine the direction of the creation of the wall. That is true but not important. When I create a full circle wall the only thing that is important is what reference is used (inner surface, midline or outer surface). When creating the wall you will notice that the wall shows the same whether created rotating clockwise or counter clockwise. This is different than creating linear walls which require information about the starting and end points, the reference line and the direction the wall is created. If you click a starting point for a linear wall with either the inner or outer surface select (but not midline) you will notice that the wall is different. This can be seen when you create a linear wall going from left to right and create a second wall (with the same settings) from  the start point of the first wall and create going right to left. You will see that the two walls don't line up. Since this is not the case with circular walls all that is needed is the center point of the radius and the starting point of the reference circle (assuming a full circle) and the direction of rotation is not important.

 

If you compare it to MCAD, a circular wall is just a rotated rectangle of the wall's cross-section and I am sure that AC uses the "Spin" command. The same for ramps I am sure they use a loft command with the cross-section of the ramp. Personally I don't know which kernel AC uses but unless it is unique to AC I would think that all of the functions in the kernel would be similar to those used in MCAD. What I do know is that the kernel in AC is a surface modeler where as most MCAD software uses a solid  modeler. I'm still going to be optimistic that my wish is possible and could happen.

 

Again, thanks for the explanation and regards.


@wile e coyote genius wrote:

Hello Bricklyne: Thank you very much for your response. While I am not an MCAD software guru there are certain things that you indicated aren't necessarily true. ......

.... Personally I don't know which kernel AC uses but unless it is unique to AC I would think that all of the functions in the kernel would be similar to those used in MCAD. What I do know is that the kernel in AC is a surface modeler where as most MCAD software uses a solid  modeler. I'm still going to be optimistic that my wish is possible and could happen.

 

Again, thanks for the explanation and regards.


 


I confused.

If, as you claim, you're not sure how Archicad's modeling kernel works, then how are you so certain that what I said is not necessarily true?

Granted, I'm not that well-versed in the ins-and-outs of how the kernel is configured, but having worked with the program for over 20 years, I have a fairly decent understanding of how it works and the some of the quirks as relates to how it calculates stuff.

 

And here's why the "start" and "end" points for the reference line/curve of a wall matter and ARE important in Archicad.

In Archicad every object's defining coordinate points in space (the nodes, or reference line points) are how the program knows where and how to build it in the 3D space.

The simplest way of understanding this is knowing (even on a basic level) how objects are created in GDL - the programming language you use to create parametric objects in Archicad and how the logic is organized.


I'm not that well-versed in GDL programing and anyone more conversant may feel free to chime in where I'm missing points or getting them wrong, but from a basic programing knowledge standpoint (and dumbing it down as much as possible), when you're creating a wall in Archicad, the wall geometry information pertinent to how it will be created will look something like this:-

 

34: 56: 0
42:-12: 0

 

Where each of the numbers above indicate the 3D coordinate points of the reference line that defines the wall in a 3D space.

Or really,......on a 2D plane, because the last figure in each is 0 because the wall height is set or determined differently and for the purposes of the reference line - a 2D object - the Z coordinate is irrelevant (at this stage anyway).

 

Note that the order in which those coordinates are entered is important such that, that wall is different from this one:-

42:-12: 0
34: 56: 0

 

Despite the fact that both those walls will look identical in terms of how long they are, what direction they face, and assuming no change in height, except for where they are in 3D space.

It's just that in one case the program drew it starting from the end point of the other wall and extruded the reference line 180 degrees in the opposite direction for the same length to end at was the original starting point of the other wall.

 

So knowing this, the points for a pure circular wall would look like this:-

42:-12: 0
42:-12: 0

 

That's a geometrically meaningless set of coordinates that could just as easily be defining a single point in space as it could a circular reference line.
Now obviously curves and circles have an additional inference point in the form of the center of the circle radius that defines it as a point in space, as well as the distance from this center-point which is the radius of the curve, but even then, you still have to know where to start from and where to end that curve relative to that center-point, no?

 

And if your start and end point are the same (As indicated above) you end up with....well... a point.

 

The program can't generate or extrude a wall object from a 2D point, so instead they workaround that and solve it by having any fully defined circle broken up into two curves that have distinct start and end points.


I'm not quite sure I follow your reasoning in the whole "inner surface" vs. "outer surface" discussion in selecting a wall.
Especially considering the fact that in Archicad you can switch a wall's "inside" or "outside" surface while in the midst of creating said wall, and that this isn't really a pertinent property to defining its base geometric vertical plane and only defines on which side of the reference line the wall is extruded to created the thickness, and  which side the program reads and demarcates as the interior or exterior side relative to other aspects of your building information.

 

The reason the walls don't line up when you create two separate walls using the same starting point but going in opposite directions is precisely why the "inside" versus "outside" side of the wall property matters since that wall thickness is being determined relative to which direction the wall is running (hence the reason the order of those coordinate point matters - i.e. the direction the wall is running).
Of course, they wouldn't line up.
Expecting that they should would mean that the program has inconsistent geometry creation logic.

The second wall (from a geometry stand-point) is like the first wall turned 180 degrees).
Unless it's a wall with a reference line in the middle of the wall in plan, why would you expect them to line up?

Try drawing two half-circle walls with non-centered reference lines (i.e. the reference line is on either the outer or inner edge of the wall), in opposite directions as with the straight wall example and see if they line up.
They won't.
One will have the wall thickness extruding to the inside of the curve or circle while the other will have it extruding in the outside, as the program determines the "inside" and "outside" of either wall based on which direction you're drawing the wall away from its start point.

 

And again, Archicad doesn't work like most MCAD modelers.
You've correctly pointed out that while MCAD programs are solid modelers, Archicad is not.
It's a surface modeler that still relies on basic coordinate geometry information to extrude curves, lines and planes to create its "solid" geometry and then attach building information (intelligence) to them.


And yes it is proprietary and unique to Graphisoft and Archicad respectively, so it would be naive to expect it to work like other conventional modelers in the industry or beyond, since a lot of those MCAD (and indeed other CAD) programs base their modeling kernels on shared or similarly functioning modelers.

 

Not that long ago, Vectorworks updated their modeling kernel to use Siemens Parasolid kernel as their modeling kernel, which is a pretty common and standard modeling kernel with other MCAD software like Solidworks, Siemens NX and the like.

So for most other programs it may be reasonable to expect them to work the same way or ways, or similarly, but Archicad doesn't share this in common with other programs since their modeling kernel like I said is both proprietary and unique just to their program.


Which is also why I'm suggesting to you that to expect or hope that they would be able to make it work like other modelers (without actually adopting those programs' modeling kernels) is a bit foolhardy and wishful thinking.


Short of a major re-write of this kernel, that frankly speaking, doesn't seem to be on the cards any time soon.