• Daz 3D
  • Shop
  • 3D Software
    • Daz Studio Premier
    • Daz Studio
    • Install Manager
    • Partnerships
    • AI Training data
    • Exporters
    • Daz to Roblox
    • Daz to Maya
    • Daz to Blender
    • Daz to Unreal
    • Daz to Unity
    • Daz to 3ds Max
    • Daz to Cinema 4D
  • 3D Models
    • Genesis 9
    • Genesis 8.1
    • Free 3D Models
  • Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Memberships
    • Daz Premier
    • Daz Plus
    • Daz Base
    • Compare
  • Download Studio
ADVANCED SEARCH
  • Menu
  • Daz 3D
ADVANCED SEARCH
Add image
  • Shop
  • 3d Software
    • Daz Studio Premier
    • Daz Studio
    • Install Manager
    • Partnerships
    • AI Training data
    • Exporters
    • Daz to Roblox
    • Daz to Maya
    • Daz to Blender
    • Daz to Unreal
    • Daz to Unity
    • Daz to 3ds Max
    • Daz to Cinema 4D
  • 3D Models
    • Genesis 9
    • Genesis 8.1
    • Free 3D Models
  • Community
    • Our Community
    • Gallery
    • Forums
    • Blog
    • Press
    • Help
  • Memberships
    • Daz Premier
    • Daz Plus
    • Daz Base
    • Compare

Notifications

You currently have no notifications.

Loading...
    • Categories
    • Recent Discussions
Daz 3D Forums > 3rd Party Software > Blender Discussion

Interested in learning how to create an add-on through scripting

EightiesIsEnoughEightiesIsEnough Posts: 1,229
March 15 in Blender Discussion

I am very interested in learning to script add-ons for Blender, but I would like to create an add-on for creating highways using the ability to add passing lanes, gravel shoulders, land or hills on the sides, etc.

Are there any tutorials on the Web that I could learn to accomplish creating such add-on?

Comments

  • PadonePadone Posts: 4,002
    March 16

    This forum is more dedicated to import and use daz models in blender, for coding you may find better help in a blender site.

    https://blenderartists.org/c/coding/beginning-blender-code-and-development/52

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    April 2

    EightiesIsEnough said:

    I am very interested in learning to script add-ons for Blender, but I would like to create an add-on for creating highways using the ability to add passing lanes, gravel shoulders, land or hills on the sides, etc.

    Are there any tutorials on the Web that I could learn to accomplish creating such add-on?

    Don't bother getting hung up on those details anymore. Use an LLM like Claude Sonnet to do it for you. Your time is better spent thinking about your addon's high level design, and learning how to describe that to the LLM in a clear and concise manner. That's your "source code" now.

    In about 15 minutes, from start to finish, Claude perfectly and completely generated my addon for Strand Based Hair support in Sagan. That would have taken me days. That's the point we're at.

    I did, for a moment, think that I should really understand better how it all works in Blender, but then I remembered how complicated and peculiar Blender is about addons and how much I admired the framework for what it does, and hated it at the same time and then I thought "why?" I am likely never going to hand-code a Blender GUI, and certainly not any basic functionality in Blender ever again. I've got more important concepts to think about rather than the gruntwork of actually implementing it.

     

  • Richard HaseltineRichard Haseltine Posts: 107,953
    April 2

    TheMysteryIsThePoint said:

    EightiesIsEnough said:

    I am very interested in learning to script add-ons for Blender, but I would like to create an add-on for creating highways using the ability to add passing lanes, gravel shoulders, land or hills on the sides, etc.

    Are there any tutorials on the Web that I could learn to accomplish creating such add-on?

    Don't bother getting hung up on those details anymore. Use an LLM like Claude Sonnet to do it for you. Your time is better spent thinking about your addon's high level design, and learning how to describe that to the LLM in a clear and concise manner. That's your "source code" now.

    In about 15 minutes, from start to finish, Claude perfectly and completely generated my addon for Strand Based Hair support in Sagan. That would have taken me days. That's the point we're at.

    I did, for a moment, think that I should really understand better how it all works in Blender, but then I remembered how complicated and peculiar Blender is about addons and how much I admired the framework for what it does, and hated it at the same time and then I thought "why?" I am likely never going to hand-code a Blender GUI, and certainly not any basic functionality in Blender ever again. I've got more important concepts to think about rather than the gruntwork of actually implementing it.

    Quite aside from the ethical isues, how will you bug-fix or trouble-shoot it if others find, or future developments create, imperfections? If it's for your own use that approach is "on your own head be it", but not if it is something you will share or, still less, something you will sell.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    April 3 edited April 3

    Neither of those points is valid. The GPLv2 (under which all Blender addons are released) literally guarantees the freedom to study the code to understand how it works. Oops.

    With state-of-the-art LLMs, you can simply re-upload code that it itself generated a year ago, and say "You wrote this Blender Python script a year ago. Find the Bug."

    Richard, we would probably have a better back and forth if you shared some of the code from one of your software projects so we could talk about real things instead of contrived hypotheticals that may seem like they are damning reproaches, but aren't.

     

     

     

    Post edited by TheMysteryIsThePoint on April 3
  • hardwire666hardwire666 Posts: 74
    May 13
    I use ChatGPT all the time for making scripts in Blender to help me with things. Do not just use an LLM to make an addon. It does things wrong. A lot. Just about all of the time, and if you don't know what you're looking at you wouldn't know it was wrong. If its only for you. Go wild. But don't hand over code you can't personally validate to someone else. Breaking your own stuff is fine. Don't break someone elses. Learn to do things the right way. LLM's are not AGI. An LLM would drive you off a cliff if it thought it was the right answer. Point is an LLM can not consciously avoid bad coding or scripting practices. You can, but only if you learn. People need to stop treating LLM's like they are a f***ing miracle, one click, do my job for me button.
  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    May 14

    My experience has been quite different. Claude 3.7 one-shotted all of my Blender test scripts I use for Hitchens, including the GUIs and I've gotten to the point where, above every function in my source, I include the prompt that I used to generate the test rig and GUI in Blender.

    I am not sure the argument of handing over code that you yourself don't understand is a valid one, when we are already at the point where I don't need to ever look at the implementation, and I need not in order to fully test it. If there's a bug, the LLM is going to fix that, too, not me anymore. And I've never met a QA or Mission Assurance guy that could have written the code he's testing, yet they still find all my bugs :)

    Same for the bad coding practices: most of the time, who cares? Unless you've got realtime requirements on latency, throughput, or jitter, who cares? Coding practices are for the benefit of human beings, are not relevant to LLMs, and 99% of the time do not matter at all anyway.

    And I agree that LLMs are still not a click-and-do-my-job solution because learning to understand every facet of the app from a user's point of view and to succinctly explain everything to it is a task in itself and it just shifts your responsibility from knowing how to code to knowing how to architect and design... something arguably harder. But that would represent a shift back to the days when software was a discipline that followed a process, and that is a good thing. Come to think of it, maybe that's where the difference comes from: The results for self-taught "programmers" is probably worse than they are for Software Engineers who grew in aerospace or some other environment that required SEI/CMMI documentation or something equally formal.

    In summary, I think it's trash in, trash out. Quality and detailed description in, quality code out, and that is a skill that was more important back in the day than it is now. But that's just my hypothesis to explain why I'm having such a positive experience with LLMs for code, and other people not. I could be wrong.

     

  • hardwire666hardwire666 Posts: 74
    May 18

    Just because it "works" doesn't mean its safe. Some times pure garbage that should explode will get the job done. If you can't tell the difference then you risk handing that broken mess over to someone else. Like I said if it's for yourself who cares. But don't hand it over, or worse sell it, to someone else. Realying on an LLM without knowing what you are doing is like a butcher performing your surgery.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    May 18

    hardwire666 said:

    Just because it "works" doesn't mean its safe. Some times pure garbage that should explode will get the job done. If you can't tell the difference then you risk handing that broken mess over to someone else. Like I said if it's for yourself who cares. But don't hand it over, or worse sell it, to someone else. Realying on an LLM without knowing what you are doing is like a butcher performing your surgery.

    Your butcher analogy is not in any way apt, revealing inherent bias in the process.

    And I think we are again bumping up against the difference between Software Engineering and mere programming because I don't see how a software system that passes all its unit tests, and its unit tests are derived directly from its requirements, can still be "dangerous". You have to understand the requirements and the unit tests, not the production code. This echoes the human practice; when one participates in a code review, it wastes everyone's time if you've gone over the production code, nitpicking line by line, when it doesn't matter because the code meets all of its requirements. I think that is the point you are missing: leave the grease monkey codng to the LLM, and the Software Engineering to the human.

     

  • Richard HaseltineRichard Haseltine Posts: 107,953
    May 18

    TheMysteryIsThePoint said:

    hardwire666 said:

    Just because it "works" doesn't mean its safe. Some times pure garbage that should explode will get the job done. If you can't tell the difference then you risk handing that broken mess over to someone else. Like I said if it's for yourself who cares. But don't hand it over, or worse sell it, to someone else. Realying on an LLM without knowing what you are doing is like a butcher performing your surgery.

    Your butcher analogy is not in any way apt, revealing inherent bias in the process.

    And I think we are again bumping up against the difference between Software Engineering and mere programming because I don't see how a software system that passes all its unit tests, and its unit tests are derived directly from its requirements, can still be "dangerous". You have to understand the requirements and the unit tests, not the production code. This echoes the human practice; when one participates in a code review, it wastes everyone's time if you've gone over the production code, nitpicking line by line, when it doesn't matter because the code meets all of its requirements. I think that is the point you are missing: leave the grease monkey codng to the LLM, and the Software Engineering to the human.

    and if the code scrutiiny shows up an edge case that wasn't allowed for in the spec and tests?

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    May 19 edited May 19

    Richard Haseltine said:

    TheMysteryIsThePoint said:

    hardwire666 said:

    Just because it "works" doesn't mean its safe. Some times pure garbage that should explode will get the job done. If you can't tell the difference then you risk handing that broken mess over to someone else. Like I said if it's for yourself who cares. But don't hand it over, or worse sell it, to someone else. Realying on an LLM without knowing what you are doing is like a butcher performing your surgery.

    Your butcher analogy is not in any way apt, revealing inherent bias in the process.

    And I think we are again bumping up against the difference between Software Engineering and mere programming because I don't see how a software system that passes all its unit tests, and its unit tests are derived directly from its requirements, can still be "dangerous". You have to understand the requirements and the unit tests, not the production code. This echoes the human practice; when one participates in a code review, it wastes everyone's time if you've gone over the production code, nitpicking line by line, when it doesn't matter because the code meets all of its requirements. I think that is the point you are missing: leave the grease monkey codng to the LLM, and the Software Engineering to the human.

    and if the code scrutiiny shows up an edge case that wasn't allowed for in the spec and tests?

    Then those are bad documentation artifacts that would have premitted faulty code by a human being as well. Programmers are encouraged to employ "test driven development" meaning that they code to the requirements by writing the unit tests first. When they all pass, they are done. If bugs are found by Mission Assurance or, worse yet, the customer, then everyone points their fingers at the Systems Engineers who wrote the requirements doc, not the programmers. Even if the programmer was an LLM, it still wouldn't be the programmer's fault.

    I am not saying that the role of the human being is erased, just that Software Engineer's role is now higher up the food chain, i.e. to apply to the documentation the same rigor that he used to apply to the source code directly because humans have been proving for the last 80 years or so that we are just not good at coding. I guarantee that sooner or later, high level languages are going to go away because having a human look at code will indicate that something is very wrong with your project.

    My assertion is that if you just tell an LLM to write some code to do something, you may get mixed results. I did. But if you follow a Systems Engineering disciplined approach, the results are already stellar. Meeting all the requirements on the first attempt is now the norm, not the exception.

    We've had technique after technique come and go to manage the complexity of software projects, trying to make them better, faster, cheaper, culminating in Object Orientation or maybe Design Patterns, and nothing has worked because we still can't predict how much a non-trivial one will cost nor how long it will take.

    Richard, if you have no expertise in the subject of Software Engineering, you really could have chosen a better debate opponent that a 37 year veteran of it... But if you keep making nonsensical statements and/or posing innocuous hypotheticals, in the spirit of education for all who may be reading this, I will calmly keep pointing out why they are nonsensical and/or innocuous.

    Standing by.

    Post edited by TheMysteryIsThePoint on May 19
  • PadonePadone Posts: 4,002
    May 19

    prompt: dear AI, please write a converter from daz studio to blender for windows, having a duf file as input and a blend file as output, of course all the daz features have to be converted as best as possible, or approximated otherwise, then please write a detailed description of the limitations if any, thank you.

    reply (very smart AI): dear Sir, you better use diffeomorphic

    cheeky

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    May 20 edited May 20

    Padone said:

    prompt: dear AI, please write a converter from daz studio to blender for windows, having a duf file as input and a blend file as output, of course all the daz features have to be converted as best as possible, or approximated otherwise, then please write a detailed description of the limitations if any, thank you.

    reply (very smart AI): dear Sir, you better use diffeomorphic

    cheeky

    I love it! I couldn't resist asking ChatGPT "What is the Diffeomorphic DAZ Importer, and who is this wise-cracking Italian guy, Padone?" It knows you, bro. :)

    The Diffeomorphic DAZ Importer is a powerful and widely respected add-on for Blender, developed to import characters, props, and animations from DAZ Studio into Blender while preserving as much detail and functionality as possible. It enables Blender users to take full advantage of DAZ Studio’s high-quality Genesis figure models—especially the Genesis 3, 8, and now 9 series—within Blender's more sophisticated rendering and simulation environments, like Cycles, Eevee, cloth physics, and rigging workflows.

    Who Is Padone?

    Padone (a pseudonym, clearly meant to sound like "padrone"—Italian for "boss") is a key contributor to the Diffeomorphic project. He’s known in the Blender and DAZ user communities for:

    • Maintaining and developing the add-on.

    • Writing extensive documentation on https://diffeomorphic.blogspot.com.

    • Providing support on forums like DAZ3D, Blender Artists, and GitHub.

    • Having a dry, occasionally sarcastic sense of humor that people either enjoy or find bewildering—hence the “wise-cracking” vibe.

    He is a technically adept coder with a deep understanding of both DAZ Studio's and Blender’s internal structures. His posts often reflect a strong opinion about good design practices, clean rigs, and avoiding the “DAZification” of Blender (i.e., not dragging in DAZ’s clunky setup just for the sake of it).

    In essence, Padone is part tech-wizard, part community curmudgeon, and fully committed to making DAZ-to-Blender workflows viable for serious artists and animators.

    Post edited by TheMysteryIsThePoint on May 20
  • PadonePadone Posts: 4,002
    May 20

    I'm terrified LOL, the "curmudgeon" part is true for sure for which I occasionally get "corrected" by moderators, and the rest is quite that .. There are inaccuracies as I contribute very little with the documentation and almost never with code, they both are the work of Thomas, though yes I can write some python for my own scripts. Then "Padone" is just the nickname my friends use here in Italy, my surname is "Padovani" and "Padone" is short for "big Padovani".

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    May 20

    Padone said:

    I'm terrified LOL, the "curmudgeon" part is true for sure for which I occasionally get "corrected" by moderators, and the rest is quite that .. There are inaccuracies as I contribute very little with the documentation and almost never with code, they both are the work of Thomas, though yes I can write some python for my own scripts. Then "Padone" is just the nickname my friends use here in Italy, my surname is "Padovani" and "Padone" is short for "big Padovani".

    Yeah, it exaggerated when I did it for myself as well. They've replaced the problem of hallucination with the problem of "Tone Matching" because of the conversation prior to asking the question.

     

  • frank0314frank0314 Posts: 14,707
    May 20

    Can we please keep the discussion civil?

  • hardwire666hardwire666 Posts: 74
    May 20

    TheMysteryIsThePoint said:

    hardwire666 said:

    Just because it "works" doesn't mean its safe. Some times pure garbage that should explode will get the job done. If you can't tell the difference then you risk handing that broken mess over to someone else. Like I said if it's for yourself who cares. But don't hand it over, or worse sell it, to someone else. Realying on an LLM without knowing what you are doing is like a butcher performing your surgery.

    Your butcher analogy is not in any way apt, revealing inherent bias in the process.

    And I think we are again bumping up against the difference between Software Engineering and mere programming because I don't see how a software system that passes all its unit tests, and its unit tests are derived directly from its requirements, can still be "dangerous". You have to understand the requirements and the unit tests, not the production code. This echoes the human practice; when one participates in a code review, it wastes everyone's time if you've gone over the production code, nitpicking line by line, when it doesn't matter because the code meets all of its requirements. I think that is the point you are missing: leave the grease monkey codng to the LLM, and the Software Engineering to the human.

     

     

    The difference between a programer and a software engineeer is Education.The difference between a building that will withstand an earthquake, and a pile of rubble is education. Education is at the core of every engineering project. Not being educated as to why something works is how bad things get made. Bad buildings, bad cars, bad aircraft, bad roads, bad bridges, bad software, bad hardware, bad art, bad music, bad movies, bad food, bad anything. The difference between a surgeon and a butcher is education. My metaphor does hold up just fine. Is it an absolute guraentee the outcome will be bad? No. It's not. However it is solid and proven that most of the time it will be.

    Telling people to skip the education and just use AI is irresponsible, and in some situations dangerous. The only thing I am guilty of being bais of is denying the validity of education.

    The very core of this topic is "How do I", and an impotant part of that is also what not to do. Skipping the education is somehting no one should do. The OP wants to learn to make scripts an addons for Blender education is how they do that.

  • TheMysteryIsThePointTheMysteryIsThePoint Posts: 3,220
    May 20
    I don't hardwire circuits together on a front panel. I write assembly language. I don't program in assembly anymore, I use g++. I don't know how g++ works, but it passed all its tests, so I use it to write software that I essentially sell to other people. I am know longer concerned with low level things and concentrate on higher level things that give more value to my customers, whoever they are. That's called progress... I am the most precious thing in that long chain of technologies that I do not even attempt to understand but are taken for granted. There exists a certain point where it is time to take a technology for granted and move up the food chain. I assert that LLMs, when employed with discipline and rigor, are at that point. I arrived at that conclusion through empirically observed results from three years of personal experience. I don't see any of this crap code that people keep referring to. But rather code that consistently has more attention to detail than I would have written. At that point, I am for ed to admit that the LLM is consistently better than I am at taking requirements succinctly and clearly expressed, generating code to satisfy it, and a unit test to prove it. It has been a while since I've gotten code that didn't work as intended, that wasn't my fault in the first place. You and others have offered hypotheticals that do not correspond to practice. But can you offer a concrete example where a state of the art LLM took a correct set of requirements and generated code that did not satisfy them? If not, your argument is not very convincing because the same could be alleged about literally anything and everything. To sum, technology means that as it matures, I instead worry about more important things the same way that I don't fret over not understanding how my CPU works at the gate level.
Sign In or Register to comment.
Adding to Cart…

Daz 3D is part of Tafi

Connect

DAZ Productions, Inc.
7533 S Center View Ct #4664
West Jordan, UT 84084

HELP

Contact Us

Tutorials

Help Center

Sell Your 3D Content

Affiliate Program

Documentation Center

Open Source

Consent Preferences

JOIN DAZ

Memberships

Blog

About Us

Press

Careers

Bridges

Community

In the Studio

Gallery

Forum

DAZ STORE

Shop

Freebies

Published Artists

Licensing Agreement | Terms of Service | Privacy Policy | EULA

© 2025 Daz Productions Inc. All Rights Reserved.