Jump to content
Ultimaker Community of 3D Printing Experts

Adding a custom printer .json to Cura


Recommended Posts

Posted · Adding a custom printer .json to Cura

Hello,

I'm trying to add my da vinci jr. 2.0 mix to the list of printers, but I can't get it to appear. Any ideas on what is causing the issue? Please note the formatting got messed up when I copied and pasted this over.

{

"id": "davinci_jr",

"version": 1,

"name": "Da Vinci Jr. Mix",

"inherits": "fdmprinter.json",,

"author": "Hacking Community",

"manufacturer": "XYZware",

"category": "Other",

"file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj",

"platform": "davinci_jr_platform.stl"

"machine_settings": {

"machine_width": { "default": 150 },

"machine_depth": { "default": 150 },

"machine_height": { "default": 150 },

"machine_heated_bed": { "default": false },

"machine_center_is_zero": { "default": false },

"machine_extruder_trains":

{

"0": "custom_extruder_1",

"1": "custom_extruder_2",

},

"machine_nozzle_size": { "default": 0.4 },

"machine_nozzle_gantry_distance": { "default": 55 },

"machine_nozzle_heat_up_speed": { "default": 2.0 },

"machine_nozzle_cool_down_speed": { "default": 2.0 },

"material_diameter": {"default_value": 1.75 },

"machine_extruder_count": { "default_value": 1 },

"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)"},

"machine_start_gcode": { "default_value": "G21 ; set units to millimeters\nM107\nG90 ; use absolute coordinates\nG92 E0\nM82 ; use absolute distances for extrusion\nG1 F900.000 E-4.00000\nG92 E0\nG1 Z0.350 F6000.000\nG1 X3.000 Y31.000\nG1 F900.000 E4.00000\nG1 X5.000 Y31.000 F300.000 E4.46245\nG1 X5.000 Y131.000 E27.58519\nG1 X3.000 Y131.000 E28.04765\nG1 X3.000 Y32.250 E50.88011\nG1 F900.000 E46.88011\nG92 E0" },

"machine_end_gcode": { "default_value": "G92 E0\nM84" },

"machine_head_polygon": { "default_value": [

[-75, -18],

[-75, 35],

[18, 35],

[18, -18]

] },

}

 

"overrides": {

"layer_height": { "default": 0.2 },

"layer_height_0": { "default": 0.425, "visible": true },

"wall_line_count": { "default": 2, "visible": true },

"top_layers": { "default": 4, "visible": true },

"bottom_layers": { "default": 4, "visible": true },

"material_print_temperature": { "visible": true },

"material_bed_temperature": { "visible": true },

"material_diameter": { "default": 2.85, "visible": true },

"material_flow": { "visible": true },

"retraction_hop": { "default": 0.2 },

"speed_print": { "default": 50.0 },

"speed_wall": { "default": 30.0 },

"speed_wall_0": { "default": 30.0 },

"speed_wall_x": { "default": 30.0 },

"speed_topbottom": { "default": 50.0 },

"speed_support": { "default": 50.0 },

"speed_travel": { "default": 120.0 },

"speed_layer_0": { "default": 20.0 },

"skirt_speed": { "default": 15.0 },

"speed_slowdown_layers": { "default": 4 },

"infill_sparse_density": { "default": 20.0 },

"cool_fan_speed_min": { "default": 5.0 },

"cool_fan_speed_max": { "default": 75.0 },

"cool_fan_full_layer": { "default": 4, "visible": true },

"cool_min_layer_time": { "default": 5.0 },

"cool_min_layer_time_fan_speed_max": { "default": 15.0 },

"support_type": { "default": "None" },

"support_angle": { "default": 45.0, "visible": true },

"support_xy_distance": { "default": 1 },

"support_z_distance": { "default": 0.2 },

"support_top_distance": { "default": 0.2 },

"support_bottom_distance": { "default": 0.24 },

"support_pattern": { "default": "Lines" },

"support_infill_rate": { "default": 15, "visible": true },

"adhesion_type": { "default": "None" },

"skirt_minimal_length": { "default": 100.0 },

"raft_base_line_spacing": { "default": 2.0 },

"raft_base_thickness": { "default": 0.3 },

"raft_base_line_width": { "default": 2.0 },

"raft_base_speed": { "default": 15.0 },

"raft_interface_thickness": { "default": 0.24 },

"raft_interface_line_width": { "default": 0.6 },

"raft_airgap": { "default": 0.2 },

"raft_surface_layers": { "default": 2 }

}

}

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    First thing I see is two commas (,,) after "inherits": "fdmprinter.json",,

    However, json files are very strict on format, structure and indentation, so there could be issues there that can't be detected in your copy/paste.

    Use the code tags, > to place your json code in to retain the formatting, spacing and indentation. I will help a lot.

    It'll also get rid of those emoticons...

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Thanks for the replies, I fixed it up to a point and then ran into a code blocker that I don't understand using the validation website: https://jsonlint.com/

    Error: Parse error on line 210:

    ...default": 2 } }

    ---------------------^

    Expecting '}', ',', got 'EOF'

    {
    "id": "davinci_jr",
    "version": 1,
    "name": "Da Vinci Jr. Mix",
    "inherits": "fdmprinter.json",
    "author": "Hacking Community",
    "manufacturer": "XYZware",
    "category": "Other",
    "file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj",
    "platform": "davinci_jr_platform.stl",
    "machine_settings": {
    	"machine_width": {
    		"default": 150
    	},
    	"machine_depth": {
    		"default": 150
    	},
    	"machine_height": {
    		"default": 150
    	},
    	"machine_heated_bed": {
    		"default": false
    	},
    	"machine_center_is_zero": {
    		"default": false
    	},
    	"machine_extruder_trains": {
    		"0": "custom_extruder_1",
    		"1": "custom_extruder_2"
    	},
    	"machine_nozzle_size": {
    		"default": 0.4
    	},
    	"machine_nozzle_gantry_distance": {
    		"default": 55
    	},
    	"machine_nozzle_heat_up_speed": {
    		"default": 2.0
    	},
    	"machine_nozzle_cool_down_speed": {
    		"default": 2.0
    	},
    	"material_diameter": {
    		"default_value": 1.75
    	},
    	"machine_extruder_count": {
    		"default_value": 1
    	},
    	"machine_gcode_flavor": {
    		"default_value": "RepRap (Marlin/Sprinter)"
    	},
    	"machine_start_gcode": {
    		"default_value": "G21 ; set units to millimeters\nM107\nG90 ; use absolute coordinates\nG92 E0\nM82 ; use absolute distances for extrusion\nG1 F900.000 E-4.00000\nG92 E0\nG1 Z0.350 F6000.000\nG1 X3.000 Y31.000\nG1 F900.000 E4.00000\nG1 X5.000 Y31.000 F300.000 E4.46245\nG1 X5.000 Y131.000 E27.58519\nG1 X3.000 Y131.000 E28.04765\nG1 X3.000 Y32.250 E50.88011\nG1 F900.000 E46.88011\nG92 E0"
    	},
    	"machine_end_gcode": {
    		"default_value": "G92 E0\nM84"
    	},
    	"machine_head_polygon": {
    		"default_value": [
    			[-75, -18],
    			[-75, 35],
    			[18, 35],
    			[18, -18]
    		]
    	},
    	"overrides": {
    		"layer_height": {
    			"default": 0.2
    		},
    		"layer_height_0": {
    			"default": 0.425,
    			"visible": true
    		},
    		"wall_line_count": {
    			"default": 2,
    			"visible": true
    		},
    		"top_layers": {
    			"default": 4,
    			"visible": true
    		},
    		"bottom_layers": {
    			"default": 4,
    			"visible": true
    		},
    		"material_print_temperature": {
    			"visible": true
    		},
    		"material_bed_temperature": {
    			"visible": true
    		},
    		"material_diameter": {
    			"default": 2.85,
    			"visible": true
    		},
    		"material_flow": {
    			"visible": true
    		},
    		"retraction_hop": {
    			"default": 0.2
    		},
    		"speed_print": {
    			"default": 50.0
    		},
    		"speed_wall": {
    			"default": 30.0
    		},
    		"speed_wall_0": {
    			"default": 30.0
    		},
    		"speed_wall_x": {
    			"default": 30.0
    		},
    		"speed_topbottom": {
    			"default": 50.0
    		},
    		"speed_support": {
    			"default": 50.0
    		},
    		"speed_travel": {
    			"default": 120.0
    		},
    		"speed_layer_0": {
    			"default": 20.0
    		},
    		"skirt_speed": {
    			"default": 15.0
    		},
    		"speed_slowdown_layers": {
    			"default": 4
    		},
    		"infill_sparse_density": {
    			"default": 20.0
    		},
    		"cool_fan_speed_min": {
    			"default": 5.0
    		},
    		"cool_fan_speed_max": {
    			"default": 75.0
    		},
    		"cool_fan_full_layer": {
    			"default": 4,
    			"visible": true
    		},
    		"cool_min_layer_time": {
    			"default": 5.0
    		},
    		"cool_min_layer_time_fan_speed_max": {
    			"default": 15.0
    		},
    		"support_type": {
    			"default": "None"
    		},
    		"support_angle": {
    			"default": 45.0,
    			"visible": true
    		},
    		"support_xy_distance": {
    			"default": 1
    		},
    		"support_z_distance": {
    			"default": 0.2
    		},
    		"support_top_distance": {
    			"default": 0.2
    		},
    		"support_bottom_distance": {
    			"default": 0.24
    		},
    		"support_pattern": {
    			"default": "Lines"
    		},
    		"support_infill_rate": {
    			"default": 15,
    			"visible": true
    		},
    		"adhesion_type": {
    			"default": "None"
    		},
    		"skirt_minimal_length": {
    			"default": 100.0
    		},
    		"raft_base_line_spacing": {
    			"default": 2.0
    		},
    		"raft_base_thickness": {
    			"default": 0.3
    		},
    		"raft_base_line_width": {
    			"default": 2.0
    		},
    		"raft_base_speed": {
    			"default": 15.0
    		},
    		"raft_interface_thickness": {
    			"default": 0.24
    		},
    		"raft_interface_line_width": {
    			"default": 0.6
    		},
    		"raft_airgap": {
    			"default": 0.2
    		},
    		"raft_surface_layers": {
    			"default": 2
    		}
    }	

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Usually means you need another closing curly brace } somewhere in the json - either at the end or further up. I think its your "overrides" group that is not closed at the end.

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Usually means you need another closing curly brace } somewhere in the json - either at the end or further up. I think its your "overrides" group that is not closed at the end.

    Thank you, turns out I needed a couple more. So now my json checks out, but unfortunately I still don't see it listed under "Add Printer" :( Are there any other reasons besides issues with the json that would prevent the printer from showing?

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Instead of pasting the json here, which consistently screws up the file beyond our being able to properly check it, could you post it on pastebin.com and post a link here?

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Here's the pastebin:

    https://pastebin.com/Yrt53whT

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Your definition file is in the format of Cura 2.1. It lacks a metadata section, and from Cura 2.3 on there is no "machine_settings" section but only a "overrides" section. Please have a look at the definitions that are currently in the resources/definitions folder.

    The CuraProfileMaker should be updated, or the reference to it should be removed.

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    A lot of the profiles are in that format. For example the Lulzbot Taz 6, and it shows up just fine. I don't understand why one definition would work in the older format, but another won't.

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    There is no Lulzbot Taz 6 definition in Cura 2.x (unless you are running the alpha build of the Lulzbot Edition of Cura 2, in which case please ask them for support). These are are definitions that come with Cura 2.7:

    https://github.com/Ultimaker/Cura/tree/master/resources/definitions

    What version of Cura are you using?

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    I'm using Cura 2.6.2. I guess I can update to Cura 2.7 then update the .json file and see if I have any luck with that.

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    So it turns out that updating to Cura 2.7 and then updating my .json file to reflect the 2.7 changes worked. I was able to get Cura to recognize not only my printer but the extruders as well. Thanks for all your help!

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Validate your JSON with json formatter

  • Link to post
    Share on other sites
    Posted · Adding a custom printer .json to Cura

    Sometimes it's easier to validate the syntax with JSON lint first json new

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...