BHoM / BHoM/BHoM_Engine

Architecture_Engine: Adding initial methods for Wall, Floor and Roof

Open
#841 0 comments 0 reactions 4 assignees Claimed by @IsakNaslundBh View on GitHub
severity:medium type:feature
Dominant language
C#
Stars
30
Forks
13
Avg merge
7d 10h
Merged PRs (30d)
5

Description

Moving methods from commented code to this issue:

#### Wall:

```
Methods to implement in BHoM_Engine

//Create

public static Wall Wall(PolyCurve profile, Material material, double thickness)
{
//Add checks

Wall aWall = new Wall();
aWall.Surface = Create.NurbsSurface(Query.IControlPoints(profile));
aWall.Properties.AddCompoundLayer(material, thickness);

return aWall
}

public static Wall Wall(PolyCurve profile, Object2DProperties properties)
{
//Add checks

Wall aWall = new Wall()
{
Profile = profile,
Properties = properties
};

return aWall
}

public static Wall Wall(ICurve location, double height, Object2DProperties properties)
{
//Add checks

//To implement GetProfile method from Location curve and height
ISurface aSurface = GetSurface(location, height)

Wall aWall = new Wall()
{
Surface = aSurface,
Properties = properties
};

return aWall
}
```

#### Roof

```
//Create

public static Roof Roof(PolyCurve profile, Material material, double thickness)
{
//Add checks

Roof aRoof = new Roof();
aRoof.Surface = Create.NurbsSurface(Query.IControlPoints(profile));;
aRoof.Properties.AddCompoundLayer(material, thickness);

return aRoof;
}

public static Roof Roof(PolyCurve profile, Object2DProperties properties)
{
//Add checks

Roof aRoof = new Roof()
{
Surface = Create.NurbsSurface(Query.IControlPoints(profile)),
Properties = properties
};

return aRoof
}

```

#### Floor

```
//Create

public static Floor Floor(PolyCurve profile, Material material, double thickness)
{
//Add checks
//Check if Profile is closed PolyCurve

Floor aFloor = new Floor();
aFloor.Surface = Create.NurbsSurface(Query.IControlPoints(profile));
aFloor.Properties.AddCompoundLayer(material, thickness);

return aFloor;
}

public static Floor Floor(PolyCurve profile, Object2DProperties properties)
{
//Add checks

Floor aFloor = new Floor()
{
Profile = Create.NurbsSurface(Query.IControlPoints(profile)),
Properties = properties
};

return aFloor
}

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.