...
In order to perform a CSV import, a well-structured CSV file with part data is required. A convenient way of getting a valid CSV file template is to create a CSV export and delete the parts data. A CSV export file is always a valid CSV import file.
Standard Columns
Every standard property is accessible within the scripts by using the variables.standard
environment. Within the CSV upload, the values to be filled are values.standard
. For example, the material class is accessible through: values.standard.material_class
.
Every property found on a platform is accessible at: yourplatform3yourmind.com/admin/b3_ampi/all-properties/
.
Here is an overview of the standard columns that can - and most of them should - be part of every CSV import file.
Column
Mandatory?
Description
Example
branch
Yes
Defines the part category that this part is assigned to when importing. The category corresponds to the form you would will out when creating the part manually in AMPI.
The available categories (or branches) can be looked up in the admin panel under
Home › B3_Ampi › Branches
Valid values are the slug values of each branch.
branch = sparepart
branch = prototype
branchIsAdvanced
Yes
Determines whether the simplified or advanced from should be loaded when editing this part. See also Branches
branchIsAdvanced = FALSE
branchIsAdvanced = TRUE
status
No
Defines the part status that is assigned to this part when created.
The available statuses can be looked up in the admin panel under
Home › B3_Ampi › Statuses
Valid values are the slug values of each status.
If this column is not part of the import, then the default initial status of the branch is assigned.
status = draft
author
No
Optional column during import
User name of the user that should be assigned as part author.
If column is not part of the import file, or value is blank, then the user performing the CSV import will be set as part author
author = xyz@3yourmind.com
shortId
No
Can be used to match parts in the CSV file with parts in AMPI. If shortId already exists, then CSV import will update the existing part with values from the CSV import instead of creating a new part.
shortId = P-12345
values.standard.name
yes
The name of the part.
Name | Field Name | Description | Type | Display Type | Choices |
---|---|---|---|---|---|
Name | standard.name | string | single-line | ||
Description | standard.description | string | multi-line | ||
Attachments | standard.attachments | files | files | ||
Current Part Price | standard.current_part_price | The current part price or order price of the part | currency | currency | |
Demand Frequency | standard.demand_frequency | Indicates a yearly recurring or a one-time demand | choice | radio | demandOneTime - One-time |
Demand Quantity | standard.demand_quantity | Number of parts needed as per frequency | integer | number | |
Lead Time | standard.lead_time | Lead time in days. The time between when a purchase order is placed to replenish this product and when the order is received in the warehouse | integer | number | |
Minimum Order Quantity | standard.min_order_quantity | integer | number | ||
Parts in stock | standard.parts_in_stock | Number of parts currently in stock | integer | number | |
Surface Area | standard.surface_area | Part surface area | float | None | |
Part Volume | standard.part_volume | float | None | ||
Concave Hull Volume | standard.concave_hull_volume | float | None | ||
Bounding Box Volume | standard.bounding_box_volume | float | None | ||
Support Volume | standard.support_volume | float | None | ||
Support Area | standard.support_area | float | None | ||
Size | standard.size | Size | size | advanced | |
Shells | standard.shells | integer | None | ||
Faces | standard.faces | integer | None | ||
Average Wall Thickness | standard.average_wall_thickness | float | None | ||
Printable Thin Walls | standard.printable_thin_walls | float | None | ||
Suspicious Thin Walls | standard.suspicious_thin_walls | float | None | ||
Weight | standard.weight | float | float | ||
Tolerance Minimum Deviation | standard.tolerance_minimum_deviation | Tightest tolerance for the linear length dimensions required for the part, as specified on its Technical Drawing or Part Documentation. The tightest tolerance is important for the part technical assessment as it can influence suitable technologies, machines, materials and required post-processings. | float | float | |
Tolerance Maximum Deviation | standard.tolerance_maximum_deviation | Tightest tolerance for the linear length dimensions required for the part, as specified on its Technical Drawing or Part Documentation. The tightest tolerance is important for the part technical assessment as it can influence suitable technologies, machines, materials and required post-processings. | float | float | |
Surface Roughness | standard.surface_roughness | Surface roughness is one component of describing how the shape of a surface deviates from its ideal form, where higher values correspond to rougher surfaces while lower values indicate the surface is smooth. Surface roughness requirements can influence suitable technologies, machines, materials and required post-processings. | choice | drop-down | 0.4 - 0.4 μm / 16 μin |
Surface to Finish | standard.surface_to_finish | Select the area where the desired average surface roughness is applied to: the whole manufactured part or only specific surfaces. The amount of surfaces to be finished has an influence on the manufacturing costs. | choice | drop-down | entire_part - Entire Part |
Locations to Finish | standard.locations_to_finish | integer | number | ||
Manufacturing Method | standard.manufacturing_method | Select the current manufacturing technology of how the part is made. Multiple selection possible | multiple-choice | drop-down | |
Material | standard.material | Select the exact material which the original part is made of. Along with specific design requirements, the material provides us with specific properties to support you in choosing the appropriate substitute material to manufacture the part. Note: if the original material is not listed, select the option ”Other material” and enter a specific name in the designated text field. | choice | drop-down | For conventional materials, they are also found in our IKB page: |
Material Class | standard.material_class | Select the high level material class (e.g. metal, plastic, etc.) which the original part is made of. The material class strongly influences the suitability of future manufacturing processes and is essential to conduct technical assessment. | choice | drop-down | For conventional materials, they are also found in our IKB page: |
Material Type | standard.material_type | Select the material type (e.g. ABS, Aluminum, etc.) which the original part is made of. The material type provides us with essential information to support you in choosing the appropriate substitute material to manufacture the part. | choice | drop-down | For conventional materials, they are also found in our IKB page: |
Other Material | standard.other_material | If the current part material is not listed, write its name | string | single-line | |
Allow Material Class Exchange | standard.allow_material_class_exchange | Indicate if a material class exchange is allowed to produce the submitted part (e.g. metal to plastic or vice versa). | boolean | toggle | |
Substitute Material | standard.substitute_material | AM material with which the original material will be substituted to accommodate AM production of the part | choice | drop-down | |
AM Support Structures Allowed | standard.support_allowed | Indicates if AM support structures are allowed (inside or outside) the model | boolean | toggle | |
Department | standard.department | Company department | string | single-line | |
Part Manufacturer | standard.manufacturer | string | single-line | ||
CAGE code | standard.cage_code | A Commercial and Government Entity (CAGE) code is a unique identifier assigned to suppliers to various government or defense agencies, as well as to government agencies themselves and also various organizations. CAGE codes provide a standardized method of identifying a given facility at a specific location. | string | single-line | |
Qualification is needed | standard.qualification_needed | boolean | toggle | ||
Serial Number | standard.serial_number | string | single-line | ||
2D Drawing Available | standard.twod_drawing_available | boolean | toggle | ||
3D Drawing Available | standard.threed_drawing_available | boolean | toggle | ||
Assembly | standard.is_assembly | Indicates if the object is an assembly and not a single part | boolean | toggle | |
Current Procurement | standard.current_procurement | Indicate whether the submitted part is originally produced in-house or acquired from external sources. | choice | radio | inHouse - In-house |
Part Visible | standard.part_visible | boolean | toggle | ||
Intellectual Property Owner | standard.intellectual_property_owner | boolean | toggle | ||
Transparency | standard.transparency | Is the part required to be transparent, translucent or opaque? https://sciencestruck.com/difference-between-translucent-transparent-opaque-materials | choice | slider | opaque - Opaque |
Safety Class | standard.safety_class | Select the safety class associated to the submitted part, indicating the required part safety from lowest to highest. | choice | radio | unknown - Unknown |
Flame Retardancy | standard.flame_retardancy | According to the safety standard UL 94, select the flame classification required for the part. The standard categorizes the flammability of plastic materials and their ability to self-extinguish and resist to ignition when exposed to a flame source. | choice | radio | HB - HB |
Next Assembly | standard.next_assembly | Enter the assembly drawing number on which the part is next utilized, modified, or assembled. | string | single-line | |
Used on | standard.used_on | Enter the name or acronym name of the product or system this part is used on. | string | single-line | |
Number of Inserts | standard.number_of_inserts | Enter the amount of inserts to be added to manufacture the part according to its specifications. | integer | number | |
Number of Threads | standard.number_of_threads | Enter the amount of threads to cut to manufacture the part according to its specifications. | integer | number | |
Number of Holes | standard.number_of_holes | Enter the amount of holes to be drilled or machined to manufacture the part according to its specifications. | integer | number | |
General Tolerances for Dimensions (ISO 2768-1) | standard.general_tolerances_dimensions | ISO 2768-1 stands for the general part tolerances for linear and angular dimensions without individual tolerance indications. Select the required class as specified in the part technical drawing title block or part documentation. | choice | radio | v - v - very coarse |
Geometrical Tolerances for Features (ISO 2768-2) | standard.geometrical_tolerances_features | ISO 2768-2 stands for the geometrical tolerances for part features (flatness & straightness, cylindricity and circularity) without individual tolerance indications. Select the required class as specified in the part technical drawing title block or documentation. | choice | radio | h - H |
Minimum Tensile Strength | standard.min_tensile_strength | Tensile strength is the maximum amount of tensile stress a material can withstand before it fails or breaks. Enter the minimum amount (in MPa) which the final part is required to withstand. | float | float | |
Minimum Tensile Modulus | standard.min_tensile_modulus | Tensile modulus is a mechanical property that measures stiffness. It is defined as the ratio of its tensile stress to its strain when undergoing elastic deformation. Enter the minimum amount required for the final part. | float | float | |
Minimum Flexural Strength | standard.min_flexural_strength | Flexural strength is the ability to resist bending deflection when energy is applied to the structure. Enter the minimum amount which the final part is required to withstand. | float | float | |
Minimum Yield Strength | standard.min_yield_strength | Yield strength is a measurement to determine the maximum stress that can be applied before permanent deformation is reached in ductile materials. Enter the minimum amount which the final part is required to withstand. | float | float | |
technology | am.technology | choice | - | ||
category | am.category | choice | - | ||
material | am.material | choice | - | ||
post_processings | am.post_processings | multi-choice | - |
A number of columns are ignored by the CSV import if they are part of the import file. Those columns are
Column | Description |
---|---|
All score columns | Scores are always calculated inside the software, hence ignored during CSV import. |
values.standard.attachments | It is |
possible to upload attachments via CSV, |
by filling the values.standard.attachments column in the import. | |
stlFile |
by matching the CAD model name to the part. |
Custom Property Columns
...
To import values into custom properties the column names need to match the property configuration in the admin panel. The following naming convention must be followed
...
What values are accepted in each column depends on the property type of the respective column. The following table explains what values are expected in relation to the property type.
Property Type | Description | Example |
---|---|---|
Boolean | Fill in values using [TRUE, FALSE] | Qualification Required = TRUE |
Choice | Slug of a choice value. Check the corresponding property in the admin panel to find out the exact slug values available. | Demand frequency = demandOneTime |
Currency | Decimal values with maximum two digits after the decimal point | Current part price = 12.84 |
Files | Attachments cannot be imported into AMPI via CSV | |
Float | Decimal numbers | Min wall thickness = 0.4 |
Integer | Whole numbers, can also be negative | Lead time = 25 |
Multiple-Choice | Slugs of choice values separated by a space " " | Manufacturing method = milling turning sheetMetal |
Size | Size (dimensions) is a special property type in AMPI. Next to the x,y,z dimension you need to provide a shape type s = {sphere, cylinder, cuboid}. | Ex. 1 Ex. 2 Ex. 3 |
String | For text fields simply fill in the text as needed. | Manufacturer = "Company XYZ" |
Bulk Update of Parts in AMPI through CSV Import
A combination of CSV export and CSV import can be used to bulk update parts in AMPI by following these steps:
Run a CSV export to produce a CSV file of the existing parts in AMPI.
Open the CSV export file in any tool capable of reading and editing CSV files.
Modify the values of those parts and columns that you wish to change.
Export the entire changed file to CSV format again.
Run CSV import with the updated CSV file.
The CSV import will match the parts from the CSV import file with existing parts in AMPI based on the
ShortID
column and update the changed values.