BetaBetaAdds a straight wall on a storey, from start to end in the storey's plan, height high.
The wall is made of its type's layer set, the named layerSet, or one layer thickness thick,
in that order of preference. alignment says which side of the axis the layers lie on; join
walls at their corners afterwards with walls.connect.
The model, the storey, the axis, the height, the thickness or layer set, and the alignment
A new model with the wall
model = await bitbybit.ifc.walls.add({ model, storey: "ground", id: "south", start: [0, 0], end: [10000, 0], height: 2700, thickness: 250 });
model = await bitbybit.ifc.walls.add({ model, storey: "ground", id: "east", start: [10000, 0], end: [10000, 8000], height: 2700, thickness: 250 });
model = await bitbybit.ifc.walls.connect({ model, wall: "south", other: "east" });
BetaJoins two walls where they meet, trimming both: two walls meeting at their ends are mitred into a corner, and a wall ending against another's side is cut back to that side.
The join is recorded in the model, and joining the two walls again replaces it. Walls that do not meet cannot be joined.
The model and the two walls
A new model with the walls joined
BetaTakes away the join between two walls, so the ends it trimmed are square again.
The model and the two walls
A new model with the walls no longer joined
BetaChanges a wall's axis, height, base, layers or alignment. Joined walls are trimmed again, clippings stay put, and openings, doors and windows move with it, keeping their offset and sill. A change is refused when it parts the wall from a joined wall, puts an opening off its end, or leaves behind an opening, door or window placed elsewhere.
The model, the wall and what to change
A new model with the wall changed
BetaClips a wall with a plane, removing the part on the side the plane's normal points to, as a wall is cut under a sloping roof.
The plane is given in the wall's storey, and a wall can be clipped by several planes. Clipping keeps the wall's full height in its data, so joins stay right.
The model, the wall, a point on the plane and its normal
A new model with the wall clipped
BetaClips a wall under a roof by each of the roof's planes that cuts it: under the eaves level or along the slope, under a gable to the gable's triangle. Planes above the wall leave it alone, and clipping again changes nothing. A plane below the wall's bottom everywhere is refused, as it would leave nothing of the wall.
The model, the wall and the roof
A new model with the wall clipped
BetaReads a wall's parameters back from the model: its axis, height, base, thickness, layers and alignment, the walls it is joined to, its openings and its clippings. It reads walls other tools wrote too, when they keep an axis and a layer set usage as IFC's standard walls do.
The model and the wall
The wall's parameters, in the plan of its storey
BetaAdds a wall type: a named kind of wall made of a layer set. Walls added with this type as their
wallType are made of its layers.
The model, the type's id and name, its layer set and its kind
A new model with the wall type
Walls: straight walls on a storey, from an axis, a height and a thickness or a layer set, joined at their corners and clipped under roofs. A wall keeps its axis, layers and height, so joins and clippings are worked out again from them whenever a wall changes, and tools that edit IFC walls edit these as walls.
Doors, windows and openings go into walls through
doors,windowsandopenings.