hsbexporter

This article will give you information about how to use the hsbexporter.

All of your exports/ groups and settings are stored in your current hsbcompany folder.

Before you start exporting don’t forget to number all your entities. More information about numbering entities can be found in the article: Add numbering.

Select the option hsbCAM\Element export\CNC Exporter.

OR select the CNC exporter in the Ribbon

This will open the CNC Exporter dialog box.

CNC Exporter

CNC exporter dialogue

Elements to export

At the Elements to Export section select “Select all Entities in drawing” option to export.

Select all entities in drawingThis will run the exporter with all the entities in the drawing.
Select floor levels in floor level listThis will run the exporter with the floor levels that you have picked in the floor level list.
Select floors levels by elements in drawingThis will run the exporter using the floor levels when you pick one of the elements in a certain floor level.
Select current floor levelThis will run the exporter using the floor level that you are in.
Select elements in drawingThis will run the exporter with all elements that you select.
Selection set to export options

CNC group

Select a Cnc Group (if you haven’t made a group yet see the following paragraphs below to create an Export\group in the hsbExporter).

Select the Start generator in config mode (config mode means that the Export manager will open, in the Export Manager you can set all your settings and create exports/ groups. You don’t need to select the config mode (Export manager) all the time). Once you have set up your exports and groups you can run groups directly when the Start generator in config mode is deselected.

Destination folder

Optional: set the destination location (by default the export will be stored in the folder where the drawing is located).

How to create an Export

After running the CNC exporter command, the ExportManager dialog will open. Here you can create new exports.

Create a new export

After selecting the Create Export button the Export dialog box will appear.

Create export dialog

Name – Enter a name for the export.
Description – Enter a description for the export.
Export (pull down menu) – Select the type of export you wish to use.
Last Used (pull down menu) – Catalog Entry for the export settings.
Output location – Select the destination folder by selecting the triple dots (default it will be stored in the folder where the drawing is located)
Clear output location – This clears the whole folder when the export is run.

Pay attention when using the Clear output location function. All files in the folder you select will be deleted when the export is run.

How to create an Group

Once you have created an export we now need to Create a group. In this example we have created the test export Wup as shown below.

Next step is to right click the word Groups on the left hand side of this screen and select Create Group.

Create a group

Give this Group a name, we have called it WUP in this example.

New WUP group

Now we need to add the Wup export settings to this group. Add your Wup export settings to the WUP Group by right clicking the Name (Wup) and select Add toWUP (this is the group name you have just created).

Add Wup export to the new WUP group

Export using an Export Group

Now if you run the command again (hsbCAM\Element export\Cnc Exporter) you will be able to select the Cnc group you’ve just made as shown in the example below.

Using the WUP group to run the CNC exporter

After selecting OK the  ExportManager will open, select the Group name you want to export (in this case it is called WUP) and Run the export.

Run the export

Export settings

When you have created multiple exports and or groups you can export these to be loaded onto a new computer. When you want to export ALL you export Settings, this can be done by selecting the Tools pulldown. You could export your Settings and then send them to somebody who only has the Standalone cnc Exporter and import these Settings.

Export your export settings

Import settings

Using the Import Settings button you can import settings from someone else.

Import export settings

There are some default settings available. These are Excel, PDF and IFC default export settings. These settings can be found in C:\Program Files\hsbcad\hsbdesign..\Content\Dutch\hsbCompany\Export\Content settings

Export extensions

After setting up your export, you can use the exporter for the entire model how it is designed. In addition to that you can add extensions to your exports.

Extensions are there to make your exports even more custom. With extensions you can add additional checks, filters or conversions. Adding extensions can be done as shown below.

Go to the All Exports group, rightclick on the export and select Edit
Next step is to open the settings for this export clicking the three dots
In the Export settings window you need to go to the Custom tab and click Add.
All of the export extensions

Checks

Adding a check extension to your export gives you the ability to have things checked before the export is run. Validations are used for this.

How to set up validations is described in the article: Validation Manager & Inspector

Once you have set up your validations, you can run a validation group when exporting. To do this you will need to add the Validation extension.

Adding the validation extension

After adding the validation extension you can set different options.

Extension Validation options

Cancel Export – When the export is run and the validation you have set up is coming up with an error (something in your model is not matching your validation). This setting will decide if your export still continuous. Setting it to True will run your export as normal but will give you a list of export fails. Setting it to False will stop the export once a validation fails.

Enabled – Set this to True to have the extension active. Set this to False to have the extension inactive.

Validation Group – Choose your predefined validation group.

Filters

Adding a filter extension to your export gives you the ability to filter entities for this export. The filter we are going to use in this example is the Beam Filter as shown below.

Add a beam filter extension
Beam filter extension settings

Once the beamfilter is added you can set up the filter for this export.

Conversions

Adding a conversion extension to your export gives you the ability to convert entities for an export. The conversion we are going to add in this example is the Convert Beams into Sheets as shown below.

Convert Beams into Sheets extension
Beam to sheet conversion settings

Once the conversion extension is added you can set it up for this export.

Save your Settings

Once you have set everything in the Setting/Custom tab you can save these settings and recall them later on in the Export dialog box.

Step 1. Select the New button and the catalogue Entry dialog box will open, enter a specific name to your settings.

Step 2. Select OK and the Entry will appear in the Export Settings dialog box.

Step 3. You can create several exports if you want.

Saving your export catalogue settings

Data formatting in the Exporter

In the exporter you can use variables, these can be properties of Objects, Elements or Project settings.

The format string is made up of constant text and variables. The variables take the form: @(<VariableName>)

The variable names directly relate to the property names so any string, number, enumeration or Boolean property can be specified. If the variable name cannot be found it will not be resolved and will stay inside the format string unchanged.

E.g. for a Beam using a format string of “@(Length) x @(Width) x (@(Height)” would use the Length, Width and Height properties of the beam.

There are also a set of variable names that provide special functionality.

Parent variable names

The following variables represent data for parent objects that can be accessed from their children.

@(Variablename)Description
ElementNumberThe number of the element.
ElementTypeThe type or code of the element.
ElementLengthThe length of the element calculated using the bounds of the GenBeams in the element rounded to zero decimal places.
ElementHeightThe height (dimension in the elements Y direction) of the element calculated using the bounds of the GenBeams in the element rounded to zero decimal places.
ProjectNumberThe number of the project as defined in the project setttings and ProjectInfo class.
ProjectNameThe name of the project as defined in the project setttings and ProjectInfo class.
ProjectDirThe project directory.
ProjectCommentThe comment as defined in the project settings.
ProjectCityThe city as defined in the project settings.
ProjectDwgNameThe name of thw dwg file.
ProjectRevisionThe revision as defined in the project settings.
ProjectStreetThe street as defined in the project settings.
ProjectUserThe user as defined in the project settings.
ProjectCompanyThe company path in the project settings.​
ProjectWallDetailPathThe wall detail path in the project settings.​
ProjectFloorDetailPathThe floor detail path in the project settings.​
ProjectDirNameThe name of the folder where the source drawing file is located.​
GroupNameThe name of group. When used on child Entity it will be the name of the first deliverable group the Entity belongs to.
GroupFileNameThis is the same as GroupName except the name of the groups is changed so that the ‘\’ delimiters are replaced with ‘_’ characters so the output can be used as part of a file name.
GroupLevel1The first part of the hsbCAD group path.
GroupLevel2The second part of the hsbCAD group path.
GroupLevel3The third part of the hsbCAD group path.
GroupEquivalentStory GroupStoryGroup Equivalent Story.
GroupFloorHeight GroupHeightGroup Floor Height.
​ProjectExposes the Project Information including MapX for an Entity. e.g. Project.DwgName
​​Element​Exposes the Element an Entity belongs to. e.g. Element.Code
​​​Group​​Exposes the Group an Entity belongs to. e.g. Group.Name
​​​Date​​Returns the current date in the regional short date format.
​​​​Time​​​​Returns the current time in the regional short time format.
​DateTime​Returns the current date and time in the regional short date and time format without seconds.

Multiwall Variable Name

A special variable name exists to list the single walls of a multiwall.


@(SingleWalls) or just @(SW) will list the names of the single walls.
@(ReverseSingleWalls) or just @(RSW) will list the names of the single walls in reverse order. This can be necessary where the orientation of the multiwall has changed.

An optional paramter can also be used to specify the delimiter.
@(SingleWalls:<delimiter>) where the can be one or more characters.


e.g. For a multiwall containing the walls FF1, FF2, FF3 and FF4 the following formats could be used:
@(SW) = FF1-FF2-FF3-FF4
@(SW:_) = FF1_FF2_FF3_FF4
@(SW:, ) = FF1, FF2, FF3, FF4

Formatting Functions

There are a number of functions that can be used to format string values.
E.g. To take the last two characters from the element number: @(ElementNumber:R2)

Possible functions are: 

AAliases: Aliases allow values to be replaced with another value, an alias.
RRight: Takes the specified number of characters from the right of the string.
LLeft: Takes the specified number of characters from the left of the string.
PLPad left: Pads the string to the left the specified number of characters with an optional parameter to specify the character to pad with.
PRPad Right: Pads the string to the right the specified number of characters with an optional parameter to specify the character to pad with.
RLRound Local: Rounds a number using the local regional settings.
RRRegex Replace: …. 
RXRegex: …. 
SSubString: Given one number will take all characters starting at the position (zero based).Given two numbers will start at the first number and take the second number of characters.
TTokeniser: Returns the member of a delimited list using the specified index (zero based). A delimiter can be specified as an optional parameter with the default delimiter being the semicolon character.
UUpper: Converts the string to upper case.
#Rounds a number. Specify the number of decimals to round to. Trailing zero’s are removed. 

For example:

Given a group name of “House\Floor\Walls”
@(GroupName:L5) = “House”
@(GroupName:R5) = “Walls”
@(GroupName:S7) = “Floor\Walls”
@(GroupName:S7;5) = “Floor”


It is also possible to chain them together.
@(GroupName:S7:R5:U) = “WALLS” 
@(GroupLevel3:PL7) = ”  Walls”
@(GroupLevel3:PR7;x) = “Wallsxxx”
@(GroupName:T1;\) = “Floor”


Or given a beam with a solid width of 29.499765 mm
        @(SolidWidth:0) = “29”
        @(SolidWidth:1) = “29.5”
        @(SolidWidth:2) = “29.5”

Aliases

Aliases allow values to be replaced with another value, an alias. The aliases are stored in files inside the company folder.


There is a global file called Aliases.dat and custom files can be added with the convention of <Name>Aliases.dat. For example: Mat2packAliases.dat.

Aliasmanager
Setting an alias

An alias is made up of:

  • Expression – what is being mapped to. This can contain the wild card character ‘*’ to represent zero or more characters.
  • Text – the value being returned if the expression is matched.

For example:
Expression = “*ground*”
Text = “GF”
This would match the following  “01-Wall Frame\00-Ground Floor”  and “GF” would be the result.

This is implemented inside the formatting as an Alias string function.
e.g. Assuming the global aliases are being used:

@(GroupName:A) would look for an alias of the group name.

To use a custom alias file a parameter is specified.
For example: using the custom “Test” alias (file name is TestAliases.dat)

@(GroupName:A;Test)

PropertySets and MapX

Propertysets are groups of Properties that are added to objects.

MapX is a map (like a set of properties) that is available in the exporter.
MapX and PropretySet data can be accessed by simply specifying the path to data in the underlying map starting with the MapX key or PropertySet name.

The MapX data will take precendence over the PropertySet data.
     e.g. An entitty has MapX data with a key of “Hsb_ElementInfo” which contains a value “Weight”.
This could be accessed using the format:

@(Hsb_ElementInfo.Weight)

The path for MapX data can go as deep as necessary.
    e.g. @(Key.SubMap1.SubMap2.SubMap3.ValueKey).

Updated on 15/10/2020

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support