zeffii / mesh_tiny_cad

a tiny set of unmissable CAD functions ( VTX, XALL ...) for Blender

Home Page:http://zeffii.github.io/mesh_tiny_cad/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CHP (chamfer plus / extend then fillet)

zeffii opened this issue · comments

continuing discussion from here:

#33

"I miss the feature of Fillet in other cad software where you can select 2 edges and it will extend each to meet the other. "

Yes. totally thumbs up for this suggestion. It deserves a separate issue. I can not guarantee any time-frame for this. life got real busy real fast.

While I have a few hours to myself today, i'll try to do this.

Low Priority
The X scenario where two edges already intersect would need to be handled by some other pre-condition handler -- ie how does one pick the desired fillet edge+vertex combo before hand

The T scenario where one edge can be projected towards another edge, also this is tricky to make a nice UI for -- ie how does one pick which pair of new edges to start the fillet on?

X and T I have ideas for that rely on the selected order of the verts.

Likely to happen

V scenario is for two edges that extend towards each other, but don't yet touch. This is also part of the feature request.

Is it just me or does the Fillet operator not make true arc (part of circle) fillets, but kind of creates a tangential smooth bezier between the two edges.

zeffi was interested in the V case where 2 edges have an apparent intersection and they can be made to meet at apparent intersection. The other cases and behaviour of fillet are tricky I agree maybe you can make the user specify a point in space with a click to determine direction. Not very familiar with python scripting and how blender works internally. Was trying to make a lengthen command to learn scripting. Trying to work it out on paper but my mathematics knowledge for this kind of programming is so limited that I was struggling on paper too.

Alt + M doesnt seem to do this. It takes some other middle

Lets say instead of picking desired edge pick desired direction with a mouse click. Or we could select desired edge last for the X operation.

in EXM we select desired edge first

Sadly I cannot test CHP because of #35

let me know If i can close this, i'm tempted to make installation a bit more fool-proof. -- this directory structure has caused many people problems.

Tested out CHP works like a real charm for the V case, thank you.

For cases like a T case

E.g.

-------------------------------- START FIGURE --------------------------------------
D
A..____________. B
|
|
|
|
C

----------------------------------- END FIGURE --------------------------

If we select CD -> Choose CHP -> clcik with the mouse near vertice B (we will be in edge mode) it could trim AD And chamfer /fillet So that we get an elbow CDB where AD and DC are 2 lines sharing a common vertice.

But I seee an issue with this I am guessing clicking near the edge is going to select the edge if the vertex coordinates of a mouse click can be used it may work.

I don't really have desire to invest time in the X and T versions. In AutoCAD the fillet (iirc) is done depending on where (in 3d space) you select the lines. Blender doesn't (to my knowledge) expose information like this.. So alternatives would be to depend on the order in which vertices are selected ( this information is available! )

Zeffi, makes sense. That is what I thought too. But your addons are so awesome. X and T cases arent really feasible. The very fact that you got the V case to work is excellent. That case is very handy because Alt+ M cannot do that.

The way the addon stands right now is awesome it would be a great addition to TC if you decide to make it part of the main TC. E.g. fillet plus cannot do what your CHP does in that regard. It can fillet between edges (sharing a common vertex) only which already meet but not make them meet. I doubt that you can determine the vertice closest to the mouse in edge selection mode for say the T case. But if say we can select one edge go into vertex selection mode automatically and the user selects a vertex to determine the direction. It could work.

But maybe I am just dreaming. I guess its alright to dream. And I really understand if you do not wish to to invest time in the X and T versions. The very fact that you tried to make something useful is wonderful and I am very grateful.

what i'd like to add is another V mode where it does this:

screen2

mode 2 's V operator would not make new edges, but reuse the two existing edges and move the two vertices closest to the projected intersection, and put them directly at the intersection and weld them into one vertex.


   start            mode 1          mode 2

0           0   0           0   0           0
 \         /     \         /     \         /
  \       /       \       /       \       /
   0     0         0     0         \     /
                    \   /           \   /
                     \ /             \ /
                      0               0

mode 2's fillet lets you make larger fillets, while mode 1 will limit your fillet to the size of the newly created geometry.


I intentionally don't have a mode 2 in VTX. half of the time I want it , the other half I want to keep the original verts but make a new convergence point. (anyway, limited dissolve is great for removing redundant vertices anyway)

Well was thinking of mode 2 too.in you image is mode 1 and mode 2 flipped as in the image is of mode 1 with title mode 2 ? Wanted to write a lengthen addon but I just dont have the math background to do so.

Mode 2 is not so critical. Mode 1 seems to fit better with the general design of blender. Mode 2 fits in with AutoCAD better.

Also I am thinking that like CHP using VTX a 'trim' command could also be made. TC already has core logic in place with XALL etc. Makes it easier then box selecting and deleting and box selecting again deleting. It would be awesome to say like select a group of edges call 'trim' it does an XALL and then goes into a sort of delete mode where if you keep pressing lines it deletes them (pressing Esc will not apply the deletes) pressing "Enter" at the end will apply the delete op. (Somewhat like the Yes/No option you get in AutoCAD when using for e.g. the LAYDEL command). Just more intuitive using blenders Esc / Enter instead of Yes/ No

no I didn't flip images. but it's intirely possible that i didn't put in enough effort to fully annotate / describe the difference. Reading the rest of your sentence suggests that you do understand the proposed different modes.


regarding: XALL. make a new issue if you want to talk about different Operations. Please get into the habit of separating issues in the issue tracker ( makes it easier to search )

(pressing Esc will not apply the deletes) pressing "Enter" at the end will apply the delete op.

yeah the multi trim feature in autocad certainly rocks. But from a usability point of view I think XALL already has the upper hand. You XALL, then select the edges you want to remove, with autoCAD's _tim and subsequent region select you can't delete all edges I think. (loose edges don't have any other edge to trim with so it's a no-op) (I must admit it has been quite a number of years since i've used AutoCAD)

btw, i'm totally OK with adding new stuff to mesh_tinyCAD, but my time is limited. Things that you think might be complicated, might not be complicated, -- conversely, things that seem that they should be easy to implement can really be disappointingly involved.

So.. ask anything, i'll let you know if I think I can squeeze it into tinyCAD.

Alright

Thanks Zeffi. Will open new issues for other request not used to this whole request thing. I normally leave developers to make what they love making. I rarely ask devs to implement a specific feature. But your addon is like heaven. I really love it and use it everyday and value it a lot.

The last paragraph of the readme is worth reading:

https://github.com/zeffii/mesh_tinyCAD#why-on-github