Jump to content

V3DPrinting

Member
  • Posts

    227
  • Joined

  • Last visited

Personal Information

  • 3D printer
    Ultimaker S5
    Ultimaker 3 (Ext)
  • Country
    FR

Recent Profile Visitors

1,112 profile views

V3DPrinting's Achievements

11

Reputation

1

Community Answers

  1. the replacement pattern provides the exact brand name as defined in the material definition. Regarding the conditional replacement pattern in the code, I'll have another look to be sure, but when I've tried it was not successful. I'll keep you posted on that new try
  2. To make it short : Replacement pattern cannot been made conditional in the start gcode. IDEX printers have 5 different modes : dual extrusion, single left extruder, single right extruder, duplication and miror. If you want to have the material configuration, given the start gcode is not conditional, you need to have 5 different start gcode based on the IDEX mode used. So 5 different printers defined in your Cura instance: IDEX dual, IDEX single left, IDEX single right, IDEX Duplication and IDEX miror. It's what I've got at the moment in order to have the configuration in the start goode. Additionally, when you switch from one mode to another, you need to change printer, and re parameter your whole project. That's why I have created functions with conditional statements so I can have only one start gcode (and only one printer defined in Cura). Therefore I don't need to rebuild an whole project when switching mode. The only issue I still have is for the material brand. I hope it helps clarify my issue and goal.
  3. Because it's an IDEX printer, so it has 5 different modes therefore 5 different material configuration I just want my users to look at the gcode and retrieve the material information. I already have the material type, nozzle size and IDEX mode in my gcode header. Only the material brand is missing to be able to set up with no doubts the printer.
  4. The idea is to be able to reprint without having to load the project. Opening the gcode would provide sufficient information to setup the printer and reprint. The reason why is that loading an old project file into Cura might alter the current configuration (profiles and materials) if you're not super cautious.
  5. @ahoeben Thanks for the piece of information. I think I need to create a function and include it into cura app and register it in CuraApplication.py, initializeSettingFunctions. I am not sure I will do it as it implies to tweak the app at each release. The replacement pattern in the start gcode is easier as it is not release dependent. But that may require a specific machine instance per extruders configuration. Which is against my initial goal to have only one machine instance whatever the extruders configuration is. Except if conditional statements are properly supported in the start gcode, which is not the case to my knowledge.
  6. @Slashee_the_Cow Thanks for the search. @ahoeben Thanks for the clarification. So I need to evaluate the metadata material_brand = extruder.material.getMetaDataEntry("brand", default = "generic")
  7. @Slashee_the_Cow Thanks for the feedback. I am 100% sure of the statement, addressing the correct extruder, the only thing that is questionable is the key used. It might not be the right one. That's what I'm looking for For example str(extruderValue(0, 'material_type')).upper() returns properly the material type value, for example PLA. But with material_brand, it returns 'None', though the replacement pattern returns the right value. I know we already had that exchange together with @ahoeben a couple on month ago. This works fine. I agree the post processing script is far too complex for what it solves in the particular case.
  8. Dear community I'm working on building a custom printer definition in Cura and I would like to comment my gcode header with the material brand used per extruder. I use the ExtruderValue function which returns the value of a specific extruder for a specific key in my printer definition "used_material_brand": { "comments": "V3DP setting", "default_value": "", "description": "Comment with the brand used.", "enabled": false, "label": "Used material brands", "settable_per_extruder": true, "type": "str", "value": "str(extruderValue(0, 'material_brand'))" }, The issue is the function is returning 'None' though the material is defined for that extruder and the brand too. The key 'material_brand' should exists as the replacement pattern {material_brand} is defined. Any clue ? I know the replacement pattern could be used directly in the gcode header, but I would like to use a function with a conditional value, my printer can have multiple extruders configurations, like an IDEX printer. Thanks in advance for your valuable help
  9. @ahoeben Thanks for the piece of information. I'll have a look.
  10. @Slashee_the_Cow Thanks for the input works fine ! I was looking for the string function, but I haven't found it in my googling. I need to improve my Python knowledge .... @ahoeben Thanks for your valuable help
  11. @Slashee_the_Cow Thanks for the feedback. I was a bit quick in my post. I am using the function extruderValue(0,'material_type') in the setting I have defined. The setting is the following "used_material": { "comments": "V3DP setting", "default_value": "", "description": "Comment with the materials used.", "enabled": false, "label": "Used materials", "settable_per_extruder": true, "type": "str", "value": "'T0 '+ extruderValue(0,'material_type') if print_mode == \"singleT0\" else 'T1 ' + extruderValue(1,'material_type') if print_mode == \"singleT1\" else 'T0 ' + extruderValue(0,'material_type') + ' T1 ' + extruderValue(1,'material_type') if print_mode == \"dual\" else 'T0 ' + extruderValue(0,'material_type') + 'T1 ' + extruderValue(0,'material_type')" }, I know there is a replacement pattern for that, but it is not conditional, so I would like to have a dedicated setting. That would allow only one machine instance for all the print modes of my printer.
  12. Dear community I am currently making a custom machine definition and would like to return the material used in a specific extruder in my gcode I have created a setting in my printer definition, children of blackmagic, using the extruder value extruderValue(extruder_nr,'material_type'). It returns the material used , but the problem is the value returned is a lowercase string and I need an uppercase string. What would be the function to transform the string into uppercase ? Thanks in advance
  13. Hi to all I have made some more testing and enquiries on that issue. First I have checked the print core switch and it's fine. I remembered that the 3d Solex hardcore were having heat shrink sleeves around the thermistor and heater cartridge wires. And sometimes it creates issues when moving the nozzle, due to the stiffness of the wires. The print core used was still having the sleeves, so I've removed them. This have improved a bit the print. The first layer have printed fine on both printcores, except the XY calibration is off.... But it hasn't solved the issue when printing the infill with the right print core. I've had a closer look at the print core and the bracket in the printhead. The bracket in the printhead was fine, but the part of the print core that rests in it was having some scratches, so I've sanded them a bit to ensure a good fit. I've done a manual bed leveling and a XY calibration, but the latter failed with a wrong Z height for the left print core. Then I've been into a series of errors : differences between nozzles .... I have a clue, as the printhead silicon socks looks a bit stretched when the right print core is down, maybe it prevents it to be properly seated in the exact same position. I am using a ruby nozzle with that print core, as it's copperfill filament, which is slightly different in shape (and maybe length) from standard 3d Solex nozzle. Usually it's in the left slot. Maybe the socks is not exactly the same. I will do some more testing tomorrow without the socks and if it's not successful try with another print core. Any clue welcome.
  14. Hi to all I have a weird issue with my old S5 who was a no brainer regarding dual extrusion prints. I have the following issue in a true dual extrusion print : - right nozzle is too low when printing, by approx two layers height. As a consequence the nozzle hits the part and is so squished on the print that nothing extrudes. - same thing for the first layer, but first layer from the left print core is perfect. - right extruder is used only for the infill. Here's the project. UMS5_P_&_S_2-2.3mf The printer prints well in single extrusion mode (left print core) The S5 R1 was exhibiting that behavior with FW 7.0, so I have upgraded it to 8.2.0 - no change It prints with 3d Solex hardcores on both slots, but it has nothing to do with the issue. It's my usual setup. The bed leveling procedure goes well. The print core switch seems to work fine, but not checked thoroughly by tearing apart the printhead. I've checked both printcores, to ensure the springs tension is the same and approx 1000g before moving the radiator from the frame. I've checked the large faces of the heatbreak for any flaw, but it's fine. Same for the seats in the printhead, no residues. Manual bed leveling was performed when having the issue with special care for the Z height of the right print core. Project have been sliced with Cura 5.4 I have sliced the project with the infill every layer and it doesn't solve the issue. I have checked the gcode at the layer where the infill starts and the Z height is the same for T0 and T1. Did also the same when slicing the project with Cura 5.3.1. Currently I haven't found any clue on the issue. Except a faulty FW for the S5 R1 .... Urgent help needed as I have a customer order pending due to that issue ! Thanks in advance.
  15. @Slashee_the_Cow I saw that the issue is related to the bridge settings, and the trigger is the max resolution. Thanks for the valuable tip.
×
×
  • Create New...