Jump to content

ZachRose

Member
  • Posts

    22
  • Joined

  • Last visited

Everything posted by ZachRose

  1. I'm still unable to track down the error. The config is https://github.com/HydraResearchLLC/Nautilus-Cura-Plugin/tree/cura5/resources if you can see something. I know that's a big ask but I'm at my wits end, it's been months of looking and I'm convinced it's somewhere obvious.
  2. I am trying to move the Hydra Research Plugin into Cura 5 and running into a confusing configuration error. I have 3 printers that the plugin installs configurations for. 2 of the 3 are working fine, but when I load the 3rd printer I get the error: cura.Machines.MaterialNode.preferredQuality [53]: Could not find preferred quality type normal for material hr_fillamentum_pla_extrafill_hydra_research_nautilus_X_400 and variant hrn_X_400, falling back to empty_quality. It should be looking for a material container "hr_fillamentum_pla_extrafill" but for some reason the definition (hydra_research_nautilus) and variant (X_400) are getting tacked on the end. I looked in the MaterialNode script but and tried to trace back the history of the container_id to see where that happened but I'm getting stuck. Since the other two printers are working, I assume there's a typo in the config somewhere. Which files should I be looking in? Presumably this is a question for @ahoeben or @nallath, y'all (the rest of the cura and extended team) are amazing and much appreciated for your hard work and continued patience with all of us!
  3. This might be kind of a niche thing, if you'd like to keep it out of this thread let me know! QML is not my strong suit but I'm doing my best as I port my plugin into Cura 5. All of the text in my dialogs are defaulting to white, any idea where this is coming from? It seems like I shouldn't have to manually set them all to black since I don't see that in any other qml out there!
  4. I tried that and it didn't work, the user material still showed up. Consider this a feature request 🙂
  5. @nallath is that the GUID in the material profile?
  6. Is it possible to exclude user config materials from appearing in Cura? I know baked in materials can be excluded via the excluded_materials item in the printer definition, but if I add a material that is listed in the user customized config to that list it still appears. Is the material exclusion supposed to function this way? Is there a work around? Thanks!
  7. I'm having some issues with stability of the preferences in my cura plugin and have a couple questions: Are all preferences that are set stored in the cura.cfg file? As I understand it I only need to run the addPreference() function once and then from then on I can setValue() whenever I need but otherwise the preferences should stay in cura right? Is there a save script or something else I need to do to ensure that the preference stays? Can the addPreference script only be run on initial install? It kinda seems like only the addPreference scripts I run on the initial install of my plugin are actually getting saved to cura.cfg and the rest never actually appear
  8. I am trying to update my printer's configuration to function within 4.9. When I go to load it I get a bunch of errors about almost all of my overrides failing ending with: 2021-04-07 15:33:43,396 - ERROR - [MainThread] UM.Logger.logException [112]: Exception: Error when loading container hydra_research_minnow: Setting material is missing required property label 2021-04-07 15:33:43,401 - ERROR - [MainThread] UM.Logger.logException [116]: Traceback (most recent call last): 2021-04-07 15:33:43,406 - ERROR - [MainThread] UM.Logger.logException [116]: File "/Users/ultimaker/build/Cura/4.9/build/inst/lib/python3.8/site-packages/UM/Settings/ContainerRegistry.py", line 203, in findContainers 2021-04-07 15:33:43,411 - ERROR - [MainThread] UM.Logger.logException [116]: File "/Applications/Ultimaker Cura 4.9B.app/Contents/MacOS/plugins/plugins/LocalContainerProvider/LocalContainerProvider.py", line 75, in loadContainer 2021-04-07 15:33:43,415 - ERROR - [MainThread] UM.Logger.logException [116]: container.deserialize(f.read(), file_path) 2021-04-07 15:33:43,420 - ERROR - [MainThread] UM.Logger.logException [116]: File "/Users/ultimaker/build/Cura/4.9/build/inst/lib/python3.8/site-packages/UM/Settings/DefinitionContainer.py", line 338, in deserialize 2021-04-07 15:33:43,425 - ERROR - [MainThread] UM.Logger.logException [116]: File "/Users/ultimaker/build/Cura/4.9/build/inst/lib/python3.8/site-packages/UM/Settings/SettingDefinition.py", line 256, in deserialize 2021-04-07 15:33:43,429 - ERROR - [MainThread] UM.Logger.logException [116]: File "/Users/ultimaker/build/Cura/4.9/build/inst/lib/python3.8/site-packages/UM/Settings/SettingDefinition.py", line 671, in _deserialize_dict 2021-04-07 15:33:43,434 - ERROR - [MainThread] UM.Logger.logException [116]: AttributeError: Setting material is missing required property label 2021-04-07 15:33:43,442 - WARNING - [MainThread] cura.Settings.CuraStackBuilder.createMachine [38]: Definition hydra_research_minnow was not found! 2021-04-07 15:33:43,446 - WARNING - [MainThread] cura.Settings.MachineManager.addMachine [410]: Failed creating a new machine! I'm unclear what it means when it says "Setting material is missing required property label". Any suggestions about what might be broken in my printer's definition? To be clear, I've found the bit in Uranium that raises the attributeerror. However I'm not clear what label needs to be on the setting "material" or if that's actually the issue at hand.
  9. There are a few ways to do this: It can be edited in the printer definition. If it's a printer that is included natively in Cura (added from the Add Printer menu), on Windows you can go to 'Program Files/Ultimaker Cura 4.5/resources/definitions/' and edit it there. If you downloaded configuration from elsewhere it will be in the configuration folder (Help>Show Configuration Folder then click definitions) Another functional work around (and what Cura actually does when you edit from that window) is go to the configuration folder (Help>Show Configuration Folder), open the definition_changes folder, find 'your+printer+name_settings.inst.cfg', and under the [values] section insert "machine_start_gcode = your start gcode" and "machine_end_gcode= your end gcode"
  10. I have a plugin that adds two machine actions for a specific machine in Cura. I've been able to figure out most things from existing models/trial and error but I've gotten stumped by one issue. Within the action window, the user can click a button to do some http requests with a networked printer. What I would like to happen is the user clicks a button, a confirmation dialog appears, and then if the user clicks "Yes", then the confirmation dialog AND the machine action window will close. Closing the confirmation dialog is simple, I just call .close(), but this doesn't work for the MachineAction. I get this error: TypeError: Property 'close' of object NautilusUpdate_QMLTYPE_401(0x600007652470) is not a function What can I call to close the window?
  11. Thanks @nallath! I think I can make it work by tying in to the machine action. For my own learning, do you have any idea why the window might be timing out on Mac? Is there a place I could look to figure that out?
  12. I'm adding a feature to my plugin (HRNautilus in the Marketplace) that largely mimics Cura's WelcomePagesModel. The user installs the plugin and on initial reboot of Cura it pops a flow of windows that makes setting up Cura for the Nautilus easier. I have adapted the WelcomePagesModel to successfully guide the user through the flow and it works great on the Windows machine I've been testing with. For some reason on my Macbook, the window disappears after anywhere from 1-10 seconds. Does anyone have an idea what might be causing this timeout? I've looked into the Log and there are no statements timed up with the disappearing of the window. I also added a button to manually start the welcome flow and the same issue occurs, though the window stays visible for slightly longer before vanishing. Source code for the plugin with all of the welcome flow can be found here. The welcome flow is run by HydraWelcome.py (in /files) and all the qml is in /files/qml/welcome. If anyone wants to test this, I'm happy to send or post a .curapackage for easy install.
  13. I believe you can call it as in the definition, but you have to change the syntax of the setting slightly: <cura:setting key="material_flow">100</cura:setting>
  14. I'm working on a plugin that generates a flow of QML windows when Cura is booted up with the plugin installed. I've been using some aspects of the WelcomePagesModel as a model for my workflow. About 30-50% of the time when booting Cura to test my plugin, it crashes and the log throws the error: UM.View.RenderBatch.render [219]: VAO not created. Hell breaks loose I looked at the Uranium documentation but that's a little low level for my skills. Can anyone offer some background/context what the VAO does/is or why I might be breaking its ability to be created some of the time?
  15. Cura didn't like that option, something about that seems to mess up infill_line_density (that's the setting value in the second log statement). My cura log returned: 2019-11-08 11:30:11,179 - DEBUG - [MainThread] UM.Logger.logException [88]: File "/Users/ultimaker/build/4.3/build/inst/lib/python3.5/site-packages/UM/Settings/SettingFunction.py", line 98, in __call__ 2019-11-08 11:30:11,183 - DEBUG - [MainThread] UM.Logger.logException [88]: File "<UM.Settings.SettingFunction (0x60001287fc18) =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) >", line 1, in <module> 2019-11-08 11:30:11,186 - DEBUG - [MainThread] UM.Logger.logException [88]: NameError: name 'infill_pattern' is not defined
  16. I'm interested in conditionally setting infill, e.g. infill_pattern == 'grid' if infill_sparse_density >65 else 'lines'. Can this be achieved within a quality profile?
  17. Do quality profiles support conditional statements the way definitions do? If so, what is the syntax?
  18. I am interested in writing a plugin to change a couple of things in the recommended sidebar view to make them easier to use. Is it possible to add/replace elements of RecommendedPrintSetup? I saw the Cura-SidebarGUI plugin by @ahoeben which appears to rebuild a custom preview stage from scratch, which is more than I'd like to do. As an example, I would like to replace the Adhesion check box with a drop down or slider to select brim, skirt, etc. Any tips/advice/examples to look at would be appreciated!
  19. Thank you @ahoeben! Sorry if I continue to ask really basic questions, but now that I have the .curapackage file, how do I make Cura install it? When I download them from the marketplace, Cura automatically fills out the packages.json with relevant metadata and then installs in on next launch. Should I just fill that information in manually or is there a better way to test it? Also @Smithy if you go to the bottom and use the sign in with Ultimaker Forum button everything should work fine!
  20. I am trying to write a plugin similar to the Dremel plugin in the Cura marketplace. I it want to install the printer definition, quality profiles, etc. via a plugin. Looking at the Dremel plugin, when downloaded it is stored in the cache as a .curapackage and then installed the next time Cura is run. What is the best way for me to get Cura to do a similar thing for my plugin? I have tried various ways of imitating the way Cura installs the Dremel plugin when downloaded to the marketplace but to no avail. Eventually I want to submit it to the marketplace but I want to test the installation to debug my code before I do. I'm sorry if this is an amateur question, I'm very new to writing plugins for Cura.
  21. I am trying to add multiple search and replace scripts. It would be significantly easier if I could automatically generate the text strings to be found and replaced, but I cannot find where those are stored. Does anyone know where user entered search and replace data is stored in the file system? Either OSX or Windows is fine.
×
×
  • Create New...