Making an Add-on for Precision Drawing Tools (CAD)

No, as it says in the PDT Wiki, it joins free vertices, i.e. those not forming part of a polygon, there is no point in duplicating standard Blender functions is there?.

The project to face command was lifted straight out of TinyCAD with the original author’s permission.

Cheers, Clock

PS. on my way back from São Paulo in around three hours so will be back on this project shortly.

1 Like

it joins free vertices, i.e. those not forming part of a polygon

Well, F on two selected vertices also creates edge, not face.
Left one is made with J2V, right one with F

%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

Can you check it?

1 Like

Feck! when did that change, or am I confusing it with J command… Maybe I am getting too old for this, It does indeed make an edge, so we might take that bit out at some stage. It was introduced to easily make edge loops from a “chased” vertex without making a face.

Cheers, Clock.

PS. You say we should redesign PDT - which particular bits don’t you like, your comment was terribly sweeping and a little unexpected, if you don’t mind me saying so.

PPS. Getting very bored waiting for the bloody aircraft and you can only drink so much in the VIC (Very Inebriated Clockmender) Lounge.

3 Likes

You are welcome.

By “Redesign,” I mean that it would be great to review it.
Ideas for CAD tool sets usually are born spontaneously, because they arise in accordance with the requirements of the production process, but at some point the volume of functions is gaining a critical mass for refactoring and generalization. We have been creating CAD toolsets for a long time and we encounter this regularly.
By the way, that is why we declined to add 1D_Scripts to the addons contrib some time ago, it is still growing.

Anyway, it would be nice if someone reviewed the contents of the PDT toolset, at least to prevent things like J2V from getting into the release.

I believe in a different approach: Add early, refactor often – as opposed to perfecting the design in private. The whole point of having an add-on live in add-ons contrib is that it is explicitly in testing.

You can create the coolest toys in the world, but if nobody plays with them but you, what’s the point? With PDT, we’re putting ourselves in a position to receive critique and refining it as we learn because we’re putting it forward for inclusion.

If you really believe in 1D_Scripts, I say you owe it to you and your team to put it forward for inclusion in add-ons contrib, even if it means that it ends up blowing PDT out of the water.

The overarching goal here is for people to be able to use precision CAD workflows in Blender. It doesn’t really matter who the author of said tools is, it just matters that we can all help improve said tools either by offering design suggestions or by contributing code.

Just my €0.02 anyway.

7 Likes

We don’t hide 1D_Scripts, so everyone uses it, we just don’t push it to contrib, since I think it is not good enough. Just because we have high quality standards after all this years of development.

We have another addon in contrib, you may be familiar with it. F2 addon, that brought blender organic modeling and retopology to the next level, consists from two simple operations.
I made entire youtube chanel dedicated to that simple operations, but till now most of community is using it completely wrong, incorrectly or insufficiently.
There are a lot of such examples we have.

But it is nice that you think about community the way you do it.

I mean that after releasing any addon to contrib you will lose that development flexibily that you have before release, and any changes that you will may need to make will be kind a costly, because community will get used to the current implementation)

Such a things are needed to be taken into account.

From my perspective (which may or may not be correct!), addons_contrib is for things that are under development and are expected to change, while the main addons repository is for the more stable add-ons.

In addition, an addon can be marked with a warning property in bl_info, such that anyone enabling it are aware that its functionality may change.

Now, I obviously don’t get to tell you what to do with your add-on. But at least you know my thoughts on the matter.

1 Like

I don’t remember the add-ons that changed much after the contrib release.
Is there some example?

How is that relevant? It’s software: The point is you can change things as much as you want.

Now, if you don’t want to, that’s an entirely different story.

P.S. The addons_contrib repo is for testing only in nightly builds, while the addons repo proper is in nightly builds but will also be included in the main releases (in case you weren’t aware).

2 Likes

Just a quick FYI:

1D_Scripts by 1D_Inc for Blender (including instructional videos) can be found here

Hello! I am back in the Clock-cave after my extensive travels to the Southern Hemisphere. I had a wonderful time by the way and found the wildlife really chatty and engaging as will become apparent with a quick look at my website. There are more conversations to share with you, but I have some other priorities as well. :penguin: :whale2:

Actually, it is being reviewed, quite extensively, but others as well as yourself, which is a good thing for it and for us. I might be new to Blender Add-ons, but I am not new to software development, having done this at a very high level for a long time, so I am aware of the pitfalls here. But thank you for your input anyway!

On the matter of J2V function, I think @ermo and I will take some time to assess whether we want to keep this function, or not, here are some points to consider:

  • It is not widely known that the Face command (F key in Edit mode) joins two vertices into an edge. Nobody I have asked yet has known about this.
  • This should be part of the Join command (J key in Edit Mode) not the Face command. It is not logical, or good practice to have to use a command designed to make faces to join vertices into an edge, when there is already a Join command, which incidentally produces an error message if you attempt to use it for this purpose.
  • It might be detrimental with the workflow, if this command is not part of PDT.

So, I should welcome input from others here as to whether we should keep or remove this function, before we make our decision.

We intend to add new functions to PDT over time, I do not consider that releasing PDT will interfere with a development cycle. Every piece of software I developed during my working life always got more capable over time, often driven by user requests as much as my company’s efforts and developments. After all, Blender itself is constantly being developed.

A lot of work has been done by @ermo during my absence and I should like to thank him publicly for his excellent work, we will be reviewing things over the next few days and hope to have all the items raised by the official review process “done and dusted” very shortly.

Cheers, Clock. :cocktail:

3 Likes

I can explain what logics stands behind this shortcuts split, if it is interesting.

2 Likes

That would be most helpful, thank you!

The problem is in names.

J stands for “join consecutive pairs of vertices by knlfe slice”, it’s operator name is “Vertex connect path”.
It is just one of the types of knife actions (automatic one, alongside with knife project), and, as far as it is knife-related tool, it can’t create geometry, it only modifies an existing one with slicing.
Unlike CAD applications where join is a fundamental feature.

F stands for creating geometry, and it’s operator is called “Make edge/face”.
Its logic is similar to the OBJ format - OBJ don’t have edges, only faces, and any wire edge in this format is written as “face from two vertices”.

So it’s all about naming misconception.
I guess, that “Vertex connect path” was called as Join to place it close to K button at some point,
many years ago.

1 Like

It’s worth noting that Vertex Connect Path isn’t limited to two vertices; the name makes sense when you’re using it on larger selections.

1 Like

Yes, I know, it is not “two”, but “consecutive pairs”, two was shorter to write for an example.
fixed post, thanks.

1 Like

@ermo & I yesterday received the excellent news that we have had PDT accepted for inclusion in the Blender Addon Repository.

We should be grateful for any feedback and questions concerning PDT. Questions can be on workflow, functions, enhancements and coding. Ideally we should like these to be logged as issues on the GitHub page as documented here previously, so we may better keep track of them, but of course, we will answer any points made here.

We are aware that we need to provide more documentation with regard to worked examples and workflow, but these have been started and will be added to the Wiki as soon as possible. The functions will be frozen for the time being to allow us to work on the Wiki and to allow users to get used to the system as-is before we add new features.

We should also like to thank everyone who has contributed to the effort here with comments, suggestions and help with coding, etc. Without this help this project would not have made the progress it has.

Cheers, Clock & ermo

13 Likes

Clock, why don’t you join the next google summer code with a precision modeling project?
would it be too complex for you to try working with the blender native code ??

at that point we could give you a hand in terms of ideas and feedback

GSoC is a program specifically for students.

1 Like