Skip to main content

file save format

The file save format can be selected from the following two types.

  • JSON format:
    A text-based file storage format in JavaScript Object Notation format. Changes can be visually checked when comparing changes with a configuration management tool or a difference comparison tool. Suitable for development using configuration management tools such as Git.

  • Database format:
    This is Next Design's original binary file saving format. Since it is a binary format, it is not possible to visually check the contents of the file. File size is smaller compared to JSON format.

caution
  • If you select JSON format, the access control list information set in the file will be lost when the project is overwritten and saved. If you are using access control list information and do not want to delete it, select database format.

The correspondence between file save formats and file extensions is as follows.

Various filesJSON formatDatabase format
Project File.nproj.iproj
project template file.nprot.iprot
profile file.nprof.iprof
model file.nmdl.imdl

Features that depend on the file save format

For the following functions, the file saving format of the target project and the file to be imported or registered as a reference must match.

  • Import model file
  • Reference registration of model file
  • Import profile

output the name of the referenced model

As an option setting when saving a file in JSON format, you can switch to output the name of the referenced model to the file.

The name of the referenced model is not output by default. For example, if the subsystem "control core" refers to the function "vehicle speed control", the reference relationship is saved in the model file as follows.

When not outputting the name of the referenced model

"Relations": [
{
"Id": "9f907a6d-ed5b-4925-a35b-2b1c9ac8769a",
"RelationType": "Ref",
"MetamodelId": "ab4dd11a-d7f2-42a1-af5f-8bb224879cc6",
"Metamodel": "Reference from subsystem to function",
"SourceId": "cd7f2f27-8271-457f-ac74-fff8ed190bbb",
"TargetId": "b25fd614-2bef-46ea-9590-fcb2d5a85307",
"TargetIndex": -1
},
],

If you turn on the output of the name of the referenced model, the model name of the related referrer and referenced model that was only Id will be output to the file.

When outputting the name of the referenced model

"Relations": [
{
"Id": "9f907a6d-ed5b-4925-a35b-2b1c9ac8769a",
"RelationType": "Ref",
"MetamodelId": "ab4dd11a-d7f2-42a1-af5f-8bb224879cc6",
"Metamodel": "Reference from subsystem to function",
"SourceId": "cd7f2f27-8271-457f-ac74-fff8ed190bbb",
"TargetId": "b25fd614-2bef-46ea-9590-fcb2d5a85307",
"SourceId$Path": "/design/control core",
"TargetId$Path": "/design/vehicle speed control",
"TargetIndex": -1
},
],
Operation procedure
  1. Check the [Include the name (path) of the referenced model] check box in the [Save option] on the [File] > [Information] page.
  2. Save your project.

As an option setting when saving files in JSON format, you can switch to save associated models (hereinafter referred to as related models) in a nested structure.

You can modify the relationship model to store a nested structure for each owning, referential, and derived relationship field defined for the entity.

For example, when the subsystem "control core" refers to the function "vehicle speed control", each other's model information is saved in parallel in the normal save format as follows.

For normal save format

{
"Id": "b25fd614-2bef-46ea-9590-fcb2d5a85307",
"EntityType": "Entity",
"Name": "Vehicle speed control",
"MetamodelId": "69adf93c-b615-4611-b128-3d4f03e2ca90",
"Metamodel": "Feature",
"Fields": {
"Name": "Vehicle speed control"
}
},
{
"Id": "cd7f2f27-8271-457f-ac74-fff8ed190bbb",
"EntityType": "Entity",
"Name": "Control Core",
"MetamodelId": "da0449f7-79f2-444e-86c7-84bc8e38301d",
"Metamodel": "Sub System",
"Fields": {
"Name": "Control Core"
}
},

On the other hand, if you switch to save related models in a nested structure, the model information of "vehicle speed control" will be saved in the model information of "control core" as follows.

When related models are nested

{
"Id": "b25fd614-2bef-46ea-9590-fcb2d5a85307",
"EntityType": "Entity",
"Name": "Vehicle speed control",
"MetamodelId": "69adf93c-b615-4611-b128-3d4f03e2ca90",
"Metamodel": "Feature",
"Fields": {
"Name": "Vehicle speed control"
},
"OwnerId": "2e23a9e2-97fd-4177-ad82-96806c880ac5",
"OwnerId$Path": "/Design"
},
{
"Id": "cd7f2f27-8271-457f-ac74-fff8ed190bbb",
"EntityType": "Entity",
"Name": "Control Core",
"MetamodelId": "da0449f7-79f2-444e-86c7-84bc8e38301d",
"Metamodel": "Sub System",
"Fields": {
"Name": "Control Core",
"feature $Ref": [
{
"Id": "9f907a6d-ed5b-4925-a35b-2b1c9ac8769a",
"MetamodelId": "ab4dd11a-d7f2-42a1-af5f-8bb224879cc6",
"Metamodel": "Reference from subsystem to function",
"TargetId": "b25fd614-2bef-46ea-9590-fcb2d5a85307",
"TargetId$Path": "/design/vehicle speed control",
"Index": -1
}
]
},
"OwnerId": "2e23a9e2-97fd-4177-ad82-96806c880ac5",
"OwnerId$Path": "/Design",
"HasIncludeFields": true
},
Operation procedure
  1. In the profile navigator or metamodel editor, select the field you want to save nested.
  2. Check the Save as structured checkbox in the Filelds tab of the inspector.
  3. Press the [File] > [Information] > [Managing project files] > [Update project file] button from the ribbon to update the model file that is the target of structural changes.
  4. Save your project.
info
  • Structuring related models can be used even if the name of the referenced model is not printed.
  • If the name of the referenced model is not output, the following two lines in the above "When related models are nested" are not output.
    • "TargetId$Path": "/design/vehicle speed control",
    • "OwnerId$Path": "/Design",
caution
  • If you do not perform step 3 after changing the [Save as structured] check box, model files that have not been edited will not be updated.
  • After that, when the model file is edited, the structuring of the related model will be reflected and updated at the same time.