MIDILLI JSON File Definition
MIDILLI Tools require a JSON file to operate. An example file is provided in the tool manuals, which you can modify to meet your specific needs. Below is a detailed explanation of the mandatory (indicated in bold) and optional properties and parameters. The text enclosed in square brackets [ ] can be replaced if it begins with unique; otherwise, you should choose from the available options (e.g., [uniquePartName]_[Side]).
This JSON is a simplified version of the full configuration we use internally. It allows you to quickly customize your design without diving into complex data structures, offering a streamlined approach to controlling your project.
Section | Property | Description | Parameter | Parameter description | Unit | Multiplicity |
---|---|---|---|---|---|---|
Generic | Specify generic properties | – | 1 | |||
Generic | width | The width of the box* (on x-axis). | – | cm | 1 | |
Generic | length | The length of the box* (on y-axis). | – | cm | 1 | |
[uniquePartName]_[Side] | Initiate creation of [Side] side of the part [uniquePartName]. Side can be: Top, Bottom, Left, Right, Back, Front. | – | 1-6 | |||
[uniquePartName]_[Side] | [uniqueComponentName] | A unique component name to create a hole or rectangular shape on the [uniquePartName] [Side]. | – | 0-* | ||
[uniquePartName]_[Side] | [uniqueComponentName] | – | location_x | X position of center of the [uniqueComponentName] relative to the [uniquePartName] [Side]. | cm | 1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | location_y | X position of center of the [uniqueComponentName] relative to the [uniquePartName] [Side]. | cm | 1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | drill_diameter | The diameter of the hole to open. Has priority over drill_width and drill_length. | cm | 1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | drill_width | The drill width of the rectangle to cut out. If drill_diameter is found, drill_width is ignored. Mandatory if drill_diameter is not used. | cm | 1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | drill_length | The drill length (y-axis) of the rectangle to cut out. If drill_diameter is found, drill_length is ignored. Mandatory if drill_diameter is not used. | cm | 1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | rotation | Clockwise rotation of the component (0-359). If call_name is set, text is also rotated around the component. | degree | 0-1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | call_name | Text to assign to the component. Placed using visible_length and visible_width as margin. See rotation for more info. | – | 0-1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | silk_screen_font_size | Custom font size for the text in pixels (px). | ||
[uniquePartName]_[Side] | [uniqueComponentName] | – | visible_diameter | If a recess is desired in the shape of a circle instead of a rectangle, this value must be specified. If this value is not found then visible length and visible_width values are used. | cm | 0-1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | visible_length | If the visible area of the component is not the same as the drill size, call_name uses this parameter to adjust the font margins keep the text above the visible section. If not found, drill_length is used. This value is also used for the recess length of the component. | cm | 0-1 |
[uniquePartName]_[Side] | [uniqueComponentName] | – | visible_width | If the visible area of the component is not the same as the drill size, call_name uses this parameter to keep the text horizontally centered with the component. If not found drill_width is used. This value is also used for the recess width of the component. | cm | 0-1 |
The text [uniquePartName] can be replaced with any name, brackets should be removed, e.g, MyPart
However, [Side] should be replaced with one of Top, Bottom, Left, Right, Back, Front. Note: each side may appear only once for a [uniquePartName] part, e.g., MyPart_Top or MyPart_Left. If any of the sides are missing it will not be created.