Objects
Station equation list contains doubles indicating raw station back, station back, and station ahead for each station equation
Station equation direction for the corresponding station equation should be true for increasing or false for decreasing
SchemaBuilder constructor for a Room
Assign units when using this constructor due to param
SchemaBuilder constructor for a Revit column
Assign units when using this constructor due to and params
SchemaBuilder constructor for a Revit duct (deprecated)
Assign units when using this constructor due to , , and params
SchemaBuilder constructor for a Revit duct
Assign units when using this constructor due to , , and params
SchemaBuilder constructor for a Revit flex duct
Assign units when using this constructor due to , , and params
SchemaBuilder constructor for a Revit level
Assign units when using this constructor due to param
SchemaBuilder constructor for a Revit shaft
Constructs a new instance given a list of objects.
The name of the
The of this instance.
A list of base classes to represent the direct shape (only mesh and brep are allowed, anything else will be ignored.)
Optional Parameters for this instance.
DEPRECATED. Sets the geometry contained in the FreeformElement. This field has been deprecated in favor of `baseGeometries`
to align with Revit's API. It remains as a setter-only property for backwards compatibility.
It will set the first item on the baseGeometries list, and instantiate a list if necessary.
If True it's a Shared Parameter, in which case the ApplicationId field will contain this parameter GUID,
otherwise it will store its BuiltInParameter name
True = Type Parameter, False = Instance Parameter
A generic Revit element for which we don't have direct conversions
SchemaBuilder constructor for a Revit extrusion roof
Assign units when using this constructor due to and params
SchemaBuilder constructor for a Revit wall
Assign units when using this constructor due to and params
SchemaBuilder constructor for a Revit wall
Assign units when using this constructor due to , , and params
SchemaBuilder constructor for a Speckle duct
Assign units when using this constructor due to , , and params
SchemaBuilder constructor for a Speckle duct
Assign units when using this constructor due to , , and params
SchemaBuilder constructor for a Speckle level
Assign units when using this constructor due to param
SchemaBuilder constructor for a Room
Assign units when using this constructor due to param
SchemaBuilder constructor for a Room
Assign units when using this constructor due to param
SchemaBuilder constructor for a Speckle wall
Assign units when using this constructor due to param
Gets or sets the plane of the . The plane origin is the center.
Gets or sets the point at 0.5 length.
Initialise an `Arc` using the arc angle and the start and end points.
The radius, midpoint, start angle, and end angle will be calculated.
For now, this assumes 2D arcs on the XY plane
The start point of the arc
The end point of the arc
The arc angle
Units (defaults to "m")
ID given to the arc in the authoring programme (defaults to null)
Gets or sets the list of surfaces in this instance.
Gets or sets the list of 3-dimensional curves in this instance.
Gets or sets the list of 2-dimensional UV curves in this instance.
Gets or sets the list of vertices in this instance.
Gets or sets the list of edges in this instance.
Gets or sets the list of closed UV loops in this instance.
Gets or sets the list of UV trim segments for each surface in this instance.
Gets or sets the list of faces in this instance.
Gets or sets if this instance is closed or not.
Gets or sets the list of surfaces in this instance.
Initializes a new instance of class.
Returns a new transformed Brep.
Represents the orientation of a
Represents a face on a
Represents a UV Trim Closed Loop on one of the 's surfaces.
Represents a UV Trim curve for one of the 's surfaces.
Represents an edge of the .
Represents the type of a loop in a 's face.
OBSOLETE - This is just here for backwards compatibility.
You should not use this for anything. Access coordinates using X,Y,Z and weight fields.
"True" if weights differ, "False" if weights are the same.
Gets or sets the weights for this . Use a default value of 1 for unweighted points.
Gets or sets the knots for this . Count should be equal to count + + 1.
as list of s
when list is malformed
Gets or sets the first radius of the . This is usually the major radius.
Gets or sets the second radius of the . This is usually the minor radius.
Gets or sets the plane to draw this ellipse in.
Gets or sets the domain interval for this .
Gets or set the domain interval to trim this with.
Initializes a new instance of the class.
This constructor is only intended for serialization/deserialization purposes.
Use other constructors to manually create ellipses.
Initializes a new instance of the class.
The plane to draw the ellipse in.
First radius of the ellipse.
Second radius of the ellipse.
Application ID, defaults to null.
Initializes a new instance of the class.
The plane to draw the ellipse in.
First radius of the ellipse.
Second radius of the ellipse.
The curve's internal parametrization domain.
The domain to trim the curve with. Will be null if the ellipse is not trimmed.
Application ID, defaults to null.
OBSOLETE - This is just here for backwards compatibility.
You should not use this for anything. Access coordinates using start and end point.
Vertex colors as ARGB s
Gets a vertex as a by
The index of the vertex
Vertex as a
as list of s
when list is malformed
Gets a texture coordinate as a by
The index of the texture coordinate
Texture coordinate as a
If not already so, this method will align
such that a vertex and its corresponding texture coordinates have the same index.
This alignment is what is expected by most applications.
If the calling application expects
vertices.count == textureCoordinates.count
Then this method should be called by the MeshToNative method before parsing and
to ensure compatibility with geometry originating from applications that map to using vertex instance index (rather than vertex index)
, , and lists will be modified to contain no shared vertices (vertices shared between polygons)
OBSOLETE - This is just here for backwards compatibility.
You should not use this for anything. Access coordinates using x, y, z properties.
as list of s
when list is malformed
If true, do not add the last point to the value list. Polyline first and last points should be unique.
as List of s
when list is malformed
OBSOLETE - This is just here for backwards compatibility.
You should not use this for anything. Access coordinates using X,Y,Z fields.
Gets the Euclidean length of this vector.
Length of the vector.
Gets the scalar product (dot product) of two given vectors
Dot product = u1*v1 + u2*v2 + u3*v3.
First vector.
Second vector.
Numerical value of the dot product.
Computes the vector product (cross product) of two given vectors
Cross product = { u2 * v3 - u3 * v2; u3 * v1 - u1 * v3; u1 * v2 - u2 * v1 }.
First vector.
Second vector.
Vector result of the cross product.
Divides this vector by it's euclidean length.
Returns a normalized copy of this vector.
A copy of this vector unitized.
Interface for transformable objects.
Interface for transformable objects where the type may not be known on convert (eg ICurve implementations)
Specifies displayable value(s) to be used as a fallback
if a displayable form cannot be converted.
objects that represent conceptual / abstract / mathematically derived geometry
can use to be used in case the object lacks a natively displayable form.
(e.g , , )
Type of display value.
Expected to be either a type or a of s,
most likely or .
(s) will be used to display this
if a native displayable object cannot be converted.
Block definition class
Block instance class
The 4x4 transform matrix.
the 3x3 sub-matrix determines scaling
the 4th column defines translation, where the last value could be a divisor
Retrieves Instance insertion point by applying to
Insertion point as a
Minimal display style class. Developed primarily for display styles in Rhino and AutoCAD.
Rhino object attributes uses OpenNURBS definition for linetypes and lineweights
Represents a Hatch Loop from a 's curve.
Represents the type of a loop in a 's curves.
Minimal physically based material DTO class. Based on references from
https://threejs.org/docs/index.html#api/en/materials/MeshStandardMaterial
Theoretically has equivalents in Unity and Unreal.
See: https://docs.unrealengine.com/en-US/RenderingAndGraphics/Materials/PhysicallyBased/index.html
And: https://blogs.unity3d.com/2014/10/29/physically-based-shading-in-unity-5-a-primer/
Text class for Rhino and AutoCAD
The 4x4 transform matrix.
The 3x3 sub-matrix determines scaling.
The 4th column defines translation, where the last value could be a divisor.
Get the translation, scaling, and units out of the
The 3x3 sub-matrix
The last column of the matrix (the last element being the divisor which is almost always 1)
Transform a flat list of doubles representing points
Transform a flat list of speckle Points
Transform a single speckle Point
Transform a list of three doubles representing a point
Transform a single speckle Vector
Transform a list of three doubles representing a vector
Transform a flat list of ICurves. Note that if any of the ICurves does not implement `ITransformable`,
it will not be returned.
Multiplies two transform matrices together
The first source transform
The second source transform
SchemaBuilder constructor for a structural model object
SchemaBuilder constructor for a model specifications (containing general model and project info) object
Initials that identify the creator of the model
Codes and standards references, model units, design settings, analysis settings, precision and tolerances
Units object containing units information for key structural model quantities
SchemaBuilder constructor for a model settings object
SchemaBuilder constructor for structural 1D element (based on local axis)
SchemaBuilder constructor for structural 1D element (based on orientation node and angle)
SchemaBuilder constructor for a GSA node
SchemaBuilder constructor for structural 1D element (based on local axis)
SchemaBuilder constructor for structural 1D element (based on orientation node and angle)
A storey in the structural model
The name of the storey
The elevation of the storey (along the global z-axis, ie. storey exists in the global XY plane)
A generalised structural load, described by a name and load case
Name of the load
Load case specification for the load
A beam load (for 1D elements)
The load case in which the load applies
A list of 1D elements to apply the load to
The type of loading applied
The direction of the load, with respect to the specified axis
The axis in which the direction of the load is defined
The magnitude of the load, either a force or moment
The locations of the load
Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof)
A name or description to identify the load
A beam load (for 1D elements) with a user-defined axis
The load case in which the load applies
A list of 1D elements to apply the load to
The type of loading applied
The direction of the load, with respect to the specified axis
The axis in which the direction of the load is defined (can be a user-defined axis)
The magnitude of the load, either a force or moment
The locations of the load
Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof)
A name or description to identify the load
A structural load case, a load case gives a way of grouping load effects together
The name of the load case (the names of individual loads that are associated with the load case are defined elsewhere, in the loads themselves)
The type of the load case
A way of grouping load cases with the similar characteristics (ex. the source/mass source/origin of the loads)
The type of action of the load
A description of the load case
A face load (for 2D elements)
The load case in which the load applies
A list of 2D elements to apply the load to
The type of loading applied
The direction of the load, with respect to the specified axis
The axis in which the direction of the load is defined
The magnitude of the load, either a pressure or a force at the specified point
The locations of the load
Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof)
A name or description to identify the load
A face load (for 2D elements) with a user-defined axis
The load case in which the load applies
A list of 2D elements to apply the load to
The type of loading applied
The direction of the load, with respect to the specified axis
The axis in which the direction of the load is defined (can be a user-defined axis)
The magnitude of the load, either a pressure or a force at the specified point
The locations of the load
Whether the load is projected (ie. whether the distributed load is specified as the intensity applied to the projection of the element on the surface normal to the direction of the load, like snow in an inclined roof)
A name or description to identify the load
A gravity load (applied to all elements)
A name or description to identify the load
The load case in which the load applies
A list of factors that apply on the “magnitude" of gravity (in terms of g, accleration of gravity) in each of the global axis (x, y and z) directions. Ex. For a model with global z-axis vertically upwards, the gravity factors of (0, 0, −1) represent a normal vertical gravity load on the structure
A gravity load (applied to the specified elements)
A name or description to identify the load
The load case in which the load applies
A list of elements to apply the load to
A list of factors that apply on the “magnitude" of gravity (in terms of g, accleration of gravity) in each of the global axis (x, y and z) directions. Ex. For a model with global z-axis vertically upwards, the gravity factors of (0, 0, −1) represent a normal vertical gravity load on the structure
A gravity load (applied to the specified elements and nodes)
A name or description to identify the load
The load case in which the load applies
A list of elements to apply the load to
A list of nodes to apply the load to
A list of factors that apply on the “magnitude" of gravity (in terms of g, accleration of gravity) in each of the global axis (x, y and z) directions. Ex. For a model with global z-axis vertically upwards, the gravity factors of (0, 0, −1) represent a normal vertical gravity load on the structure
A node load (applied in the global axis)
The load case in which the load applies
>A list of nodes to apply the load to
The direction of the loading, relative to the specified axis
The magnitude of the load, either a force or moment
A name or description to identify the load///
A node load (based on a user-defined axis)
The load case in which the load applies
>A list of nodes to apply the load to
The axis in which the load is applied
The direction of the loading, relative to the specified axis
The magnitude of the load, either a force or moment
A name or description to identify the load///
Set of functions to triangulate n-gon faces (i.e. polygon faces with an arbitrary (n) number of vertices) in es.
Triangulates all faces in .
The mesh to triangulate.
If , will not triangulate quad faces.
Overload using a , does not mutate
Calculates the triangulation of the face at in .
This implementation is based the ear clipping method
Proposed by "Christer Ericson (2005) Real-Time Collision Detection".
The index of the face's cardinality indicator n in ..
if , the returned list will include cardinality indicators for each triangle
(i.e 4 ints for each tri), otherwise will simply be 3 ints for each tri.
List of triangle faces in the specified format.
Tests if point is within triangle
true if is within triangle
Checks that triangle is clockwise with reference to
The normal direction of the face
true if triangle is ccw
3-dimension x, Y, Z Vector of s encapsulating necessary vector mathematics
Turns a List of Parameters into a Base so that it can be used with the Speckle parameters prop