Server extensions are modules or classes methods written in Ruby language.
They can extend and customize the functionality of the Server and IFC classes.
Class methods can be used within server scripts or within any information report.
class IFCWINDOW
def area
@overallHeight.to_f*@overallWidth.to_f
end
end
class IFCDOOR
def area
@overallHeight.to_f*@overallWidth.to_f
end
end
getObjectByLineID(id)
IFC_CLASS_NAME.nonInverseAttributes
IFCObject.to_xml (obj)
IFCObject.to_csv(obj)
IFCObject.to_html (obj)
IFCObject.to_json(obj)
IFC_CLASS_NAME.list(cols="")
IFCObject.as_link
IFC_CLASS_NAME.where (cond,output)
to_svg
polarToCartesian(centerX, centerY, radius, angleInDegrees)
area
diameter
perimeter
to_svg
svg(scale=1,transformation="")
xyz_array
xy_array
perimeter
xyz_array
xy_array
to_svg
area
xyz_array
to_svg
svg(scale=1,transformation="")
xy
x
y
matrix
matrix2d
x_axis
z_axis
xyz
matrix
matrix2d
to_dae(objectPlacement=nil,*args)
corner_xyz
x_min
x_max
y_min
y_max
z_min
z_max
volume
center
*
getBuildingAddress
*
getBuildingStoreys
*
getGrossFloorArea
*
getGetPropertySet
*
getContainedElements()
*
hasCoverings
*
attach_to_obj(obj)
attach_to_obj(obj)
to_xml( o=self)
to_xyz
xyz
min_max
size
coordArray
dim
area
perimeter
positionXYZ
xyz_array
to_svg
svg(scale=1,transformation="")
area
perimeter
xyz_array
*
to_svg
svg(scale=1,transformation="")
area
perimeter
xyz_array
xy_array
to_svg
svg(scale=1,transformation="")
classificationForObjects
*
hasReferences
*
contains
*
attach_to_obj(obj)
classificationRefForObjects
*
hasReferences
*
area
to_dae(placement=nil, *args)
to_dae_geometry(mesh_id="")
to_dae_node(placement=nil)
to_RGB
to_RGB_HEX
to_html_div
to_html_div_details
to_html_div
to_row
to_table
xyz_array
xyz_array
usingCurves
*
to_dae(objectPlacement=nil, *args)
to_dae_geometry(mesh_id="")
to_dae_node(placement=nil)
hasExternalReferences
*
propertiesForConstraint
*
date_time
attach_to_obj(obj)
unitExponent
get_normal
hasControlElements
*
area
property_details
attach_to_obj(obj)
property_details
attach_to_obj(obj)
property_details
to_html_div
to_RGB
to_RGB_HEX
length
to_dae
to_dae_geometry(mesh_id="")
to_dae_node(ifclocalplacemenet=nil)
to_xml( o=self)
get_inverse_attributes
*
fillsVoids1
hasStructuralMember1
*
connectedTo1
hasCoverings1
referencedInStructures1
hasPorts1
*
hasOpenings1
providesBoundaries1
connectedFrom1
containedInStructure1
to_details(str="")
property_names_values_hash
property_details
property_details_xml
to_details_xml(str="")
attach_to_obj(obj)
names_values_hash(str="")
area
perimeter
externalReferenceForResources
boundedBy
area
perimeter
diameter
area_side
volume
height
to_dae(objectPlacement=nil,*args)
xyz_min_max(location=[0,0,0])
to_dae_geometry(mesh_id = "")
to_dae_node(ifclocalplacement=nil)
svg(scale=1,transformation="")
to_svg
to_mesh
get_normal
to_dae(objectPlacement=nil,*args)
to_dae_geometry(mesh_id="")
to_dae_node(ifclocalplacemenet=nil)
area
get_normal
to_mesh
to_dae(objectPlacement=nil,*args)
to_dae_geometry(mesh_id="")
to_dae_node(localplacement=nil)
area
to_dae(objectPlacement=nil)
to_dae_geometry(mesh_id="")
to_dae_node(local=nil)
to_mesh
area
to_dae(objectPlacement=nil,*args)
to_mesh
to_dae_geometry(mesh_id="")
to_dae_node(local=nil)
area
validate_rules
fillStyles_colour
to_dae(objectPlacement=nil,*args)
to_dae_geometry(mesh_id="")
to_dae_node(local=nil)
svg(scale=1,transformation="")
to_dae
svg(scale=1,transformation="")
area
perimeter
xyz_array
*
xy_array
*
to_svg
svg(scale=1,transformation="")
find_circle_center(s, t, e)
random_hex_color(obejct_type="")
to_svg()
xyz_array(value=1)
xyz_min_max(value=1)
location
area
volume
area_side
height
to_dae(objectPlacement=nil)
to_dae_geometry(mesh_id="")
to_dae_node(local=nil)
check_transformation
attach_to_obj(obj)
materials_list
materials_thickness_list
materials_layers_html
attach_to_obj(obj)
getMaterials
attach_to_obj(obj)
isDefinedBy
db_pset
db_select_pset(propertyname, psetName= "")
db_get_property(propertyname, psetName= "")
hasAssignments
isNestedBy #
hasContext
decomposes
hasAssociations
to_dae(objectPlacement=nil,*args)
area
creationDate
get_normal_default
get_normal
to_xml(obj=self)
to_svg
to_xy_xml
perimeter
to_mesh
to_dae(objectPlacement=nil)
to_dae_geometry(mesh_id="")
to_dae_node(placement=nil)
area
dx_dy_dz
xyz_min
xyz_max
is_circle?(precision=0.01)
inXY?
to_a
xyz_array
xy_array
xy_min_max
to_xml1(obj=self)
to_xml(obj=self)
to_svg(scale=1)
svg(scale=1,transformation="")
area
perimeter
contains_point?(point)
outside_bounding_box?(point)
to_dae(placement=nil, *args)
to_dae_geometry(mesh_id="")
to_dae_node(placement=nil)
add_point(id)
self.new_from_points_array(xy_array=[])
referencedBy
area
to_dae(placement=nil,*args)
volume
area_side
location
to_dae(objectPlacement=nil,*args)
to_dae_geometry(mesh_id="")
to_dae_node(local=nil)
volume
to_dae(objectPlacement=nil,*args)
hasExternalReference
*
hasProperties
*
report
to_details(str="")
to_details_xml(str="")
property_names_values
valid_name(obj=self)
names_values(str="")
names_values_hash(str="")
to_row
to_xml(obj)
attach_to_obj(obj)
property_details
properties
hasProperty?(property)
hasPropertyWithValue?(property,val)
property_value(name="")
property_details_xml
to_xml(obj=self)
property_names_values
property_names_values_hash
attach_to_obj(obj)
propertyTemplates_html
propertyTemplates
to_row
valid_name(obj=self)
valid_value(obj=self)
to_xml(obj=self)
to_xml_full(obj=self)
#to_csv(obj=self)
attach_to_obj(obj)
to_row
*
to_row
to_xml(obj)
attach_to_obj(obj)
to_row
to_xml(obj)
attach_to_obj(obj)
to_row
to_xml(obj)
attach_to_obj(obj)
to_row
to_xml(obj)
attach_to_obj(obj)
to_row
to_xml(obj)
attach_to_obj(obj)
to_row
to_xml(obj)
attach_to_obj(obj)
#area
*
perimeter
area
xyz_array
perimeter
svg(scale=1,transformation="")
relatingobjectInfo
relatedObjectsInfo
saveTimeForTask
attach_to_obj
attach_to_obj
qto
count()
add(instance_id)
count_by_class
count()
add(instance_id)
count_by_class
attach_to_obj
count()
add(instance_id)
count_by_class
attach_to_obj
to_xml(obj=self)
cache
*
attach
attach_to_obj
count()
add(instance_id)
count_by_class
count()
add(instance_id)
count_by_class
count()
add(instance_id)
count_by_class
count()
add(instance_id)
count_by_class
ofProductRepresentation
layerAssignments
representationMap
area
area_side
volume
height
to_svg
to_dae(objectPlacement=nil,*args)
layerAssignment
styledByItem
*
to_dae
to_dae_geometry(mesh_id=nil)
to_dae_node(local=nil)
resourceOf
*
area
perimeter
detail
preview
to_dae_geometry(mesh_id="")
to_dae_node(local=nil)
to_dae(objectPlacement=nil,*args)
volume
to_PSF21
getBoundedBy
*
getElementQuantities
*
getHeight
*
containsElements
containsElements_count
to_dae_material
surfaceColour_html
effect
material
to_dae(objectPlacement=nil,*args)
to_dae_geometry(mesh_id="")
*
to_dae_node(ifclocalplacemenet=nil)
xyz_array
attach_to_obj(obj)
to_dae
to_dae_geometry(mesh_id="")
to_dae_node(ifclocalplacemenet=nil)
area
property_details
property_details
property_details
format_property(obj,att)
property_table(obj=self)