hlorus / cad_sketcher Goto Github PK
View Code? Open in Web Editor NEWConstraint-based geometry sketcher for blender
License: GNU General Public License v3.0
Constraint-based geometry sketcher for blender
License: GNU General Public License v3.0
Add a new tool which allows the user to put an arc between two existing segments (line / arc). The tool should find the correct placement for the arc's center and connection points to minimize jumping of the geometry when the solver runs.
Next it should trim the existing segments to the position of the connection points while keeping all existing constraints of the segments intact.
Finally it should add the arc and the tangential constraints.
This is probably best added as a statefull operator, see it's definition in operator.py.
Motivation / Existing Problem
When you have a 1000 different sketches for a 1000 different extrusions, it's hard to find, in the list, which sketch belows to which object.
Description
A quick way to find the sketch associated with the object, so you could edit it.
Alternative Solutions
Perhaps 'right click' on the object, and have an option called 'edit sketch'....
Have constraints show in the correlating positions as set by industry standards like Fee CAD and Fusion 360
Description
It may be a mac only thing, or resolution dependant- retina 13,3-inch (2560 ร 1600)- the outer lines for sketching are too thin to use or select.
It's an issue from the start- really hard to activate a plane when creating sketch (basically pixel thin..should it also be selectable from the "face" of the plane, not only the edge?), hard to select sides etc to add constraints.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
To select the planes and sketche's edges without a hassle.
System Information:
Description
Install, then activate. Have seen the same error on 2.93 and 3.0 which I tried also.
Modules Installed (CAD_Sketcher-main) from 'C:\Users\Carsten Wartmann\Downloads\CAD_Sketcher-main.zip' into 'C:\Users\Carsten Wartmann\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons'
Traceback (most recent call last):
File "C:\Users\Carsten Wartmann\Apps\blender-3.1.2-windows-x64\3.1\scripts\modules\addon_utils.py", line 387, in enable
mod.register()
File "C:\Users\Carsten Wartmann\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\CAD_Sketcher-main_init_.py", line 107, in register
ensure_addon_presets()
File "C:\Users\Carsten Wartmann\AppData\Roaming\Blender Foundation\Blender\3.1\scripts\addons\CAD_Sketcher-main_init_.py", line 97, in ensure_addon_presets
if sys.version >= (3, 8):
NameError: name 'sys' is not defined
Really Blender?
EDIT: Second activation worked?!
Installed Sover via PIP.
But no sign in Toolbar or N-Panel (sorry old fart user).
Restarted Blender, now it is there.
HOWEVER: If I use my 3D-Printing template with NO objects in the scene, Sketcher is not showing up until restart of Blender.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
To have it working. Yesterday it worked somehow despite some errors.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
Backport add-on for latest Blender 2.79.x (UPBGE 0.2.x)
Description
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Just looking for text to show up.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
maybe also color individual entities depending on DOF
Thank you for your great addon!
This is less of a bugreport than a note.
I updated to python 3.10 and it seems like its not possible to install py-slvs on python 3.10.
So this addon is not compatible with python 3.10 it seems to me.
Does somebody know a way to install py-slvs on python 3.10?
Allow user to handle display of constraints as they can be in the way sometimes.
Description
Simply cannot select a sketch plane when adding a sketch. It appears the hotspot for selecting is so small any click negates the planes.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
I would expect that the entire face of the planes would be a target for selection to add a sketch.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
I might be missing something, but is there a way to correct the 'jagged' result of solidify modifier?
https://user-images.githubusercontent.com/507113/134035213-0180d4e9-b9dc-470f-8590-b8a25f85f41b.mp4
Love this plugin!
I'm excited about this conversation and the potential integration to BlenderBIM, as well.
...
Would be nice to be able to change the radius, after the fact, and on the fly. Something like this UI...
Could it be possible to switch the active tool that is currently selected to the Solvespace Select Tool when adding or editing the sketch. Then shifting back again once the sketch mode is completed. Obviously most of the typical tools wouldn't be active in the sketch mode & vice versa.
Additionally, possibility of collapsing/hiding the Sketch tool set once the sketch mode has been existed.
Hi, sorry - thank you very much for you efforts.
I can't find the sketcher module. Would you please give a short hint?
Thank you
Markus
Description
When converting the following drawing (for finger cutouts in a block), the rasterized mesh does not match the shape of the drawing.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I would expect for a rounded arc to be
Screenshots
Above
System Information:
Blend File is Attached.
EDIT: In the blend file the last drawing is not fully constrained, but it doesn't make a difference when I do add the remaining constraints.
First off, I can't tell you how excited I am for this tool. It's something I have wanted for a long long time in Blender! Great work!!
Issue:
Single-clicking to delete the vertical or horizontal edge constraint is too prone to accidental deletions.
I would recommend sticking with Blender UX convention here, and allowing users to select the constraint tickmark and use the standard 'x' keyboard shortcut to spawn the delete modal. If in the future there will be editable params on the vertical and horizontal edge constraints then the delete option could be presented there as well, using the same UX pattern you use for the distance constraint.
Related to #1
would be nice to quickly change the dimension on segments as well...
Perhaps, being able to 'move' the dimension to indicate which segment you'd like to measure off of.
Motivation / Existing Problem
When you create an extrusion, for example, from a sketch, and then rotate it, and then edit the sketch again, it resets the rotation of the object.
Description
When you create an extrusion, for example, from a sketch, and then rotate it, and then edit the sketch again, the sketch's workplane would be orthogonal to the rotation of the extrusion.
Motivation / Existing Problem
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Description
A clear and concise description of what you want to happen.
Alternative Solutions
A clear and concise description of any alternative solutions or features you've considered.
Mockup
Ideally add a quick drawing to show how this would look.
Motivation / Existing Problem
A lot of modeled objects tend to be started by copying some other object and going from there. Unfortunately when you copy an object with an associated sketch, that sketch does not get copied as well.
Alternative Solutions
Would be nice if when the objects was copied, a copy of the sketch would go along with it.
I like the idea of Profile Types
, that is, if object A
had Profile X
, and it was copied to object B
, that it would still have Profile X
associated with it.
That is, if you now changed Profile X
, both object A and B would change.
If you copied Object A
to Object B
, but wanted to have a different profile associated with object B
, that you could just duplicate the profile type.
This could start dovetailing into a workflow around IFCprofiles: IfcOpenShell/IfcOpenShell#1641
Motivation / Existing Problem
Currently no way to create a non-orthogonal workplane
Description
Pick a rotated workplane based off existing geometry
Alternative Solutions
When creating a new sketch, or perhaps even when you edit an existing one, you can dynamically set the workplane based off existing geometry
DescriptionAdd sketch then make rectangle then construction line and then distance for one line 1 meter, then click the 1.0 meter line and click equal.... error message as seen in the screenshot
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
I wanted to make them equal, but when chosen 1 line and then choose equal I got this message
What I needed to do was click first line then second then equal,
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
Video: https://www.dropbox.com/s/g2ylsoepr29ehpn/2022-02-17_18-28-00.mp4?dl=0
Blender 3.0
GS: 02/17/2022
Description
# Blender 3.0.1, Unknown revision
Package successfully installed # Info
bpy.ops.view3d.slvs_add_circle2d(state_index=1, wait_for_input=False, radius=0.886294, ct_i=5242881, ct_fallback=(-2.4525, -1.62243), sketch_i=4194304) # Operator
bpy.ops.object.delete(use_global=False, confirm=False) # Operator
Deleted 1 object(s) # Info
bpy.context.scene.sketcher.ui_active_sketch = 0 # Property
bpy.context.scene.sketcher.entities.sketches[0].name = "Sketch" # Property
bpy.context.scene.sketcher.entities.sketches[0].visible = False # Property
bpy.context.scene.sketcher.ui_active_sketch = 0 # Property
bpy.context.scene.sketcher.entities.sketches[0].visible = True # Property
# backtrace
blender(BLI_system_backtrace+0x33) [0x560777e1e233]
blender(+0x108af0a) [0x560775720f0a]
/lib/x86_64-linux-gnu/libc.so.6(+0x38920) [0x7f91cfb95920]
/lib/x86_64-linux-gnu/libc.so.6(+0x15ed91) [0x7f91cfcbbd91]
/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so(+0x740a7d) [0x7f919a984a7d]
/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so(+0x2fc341) [0x7f919a540341]
/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so(+0x2feaa8) [0x7f919a542aa8]
blender(_ZN7blender3gpu7GLBatch4drawEiiii+0x81) [0x560777d231f1]
blender(+0x27634e0) [0x560776df94e0]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0xd9903) [0x7f91d215a903]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6dce) [0x7f91d20f8a9e]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f91d20f1053]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0xd4168) [0x7f91d2155168]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x811d) [0x7f91d20f9ded]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f91d20f1053]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6466) [0x7f91d20f8136]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f91d20f1053]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x811d) [0x7f91d20f9ded]
/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f91d20f1053]
blender(+0x1c546b8) [0x5607762ea6b8]
blender(+0x1c22850) [0x5607762b8850]
blender(wm_gizmomap_highlight_find+0x26d) [0x560775b9046d]
blender(+0x14cfa1a) [0x560775b65a1a]
blender(+0x14cff3d) [0x560775b65f3d]
blender(wm_event_do_handlers+0x6d0) [0x560775b66950]
blender(WM_main+0x20) [0x560775b5b910]
blender(main+0x2db) [0x5607756c4abb]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xcd) [0x7f91cfb807fd]
blender(_start+0x2a) [0x56077571d64a]
# Python backtrace
File "/home/cmesh/.config/blender/3.0/scripts/addons/geometry_sketcher-main/class_defines.py", line 240 in draw_id
File "/home/cmesh/.config/blender/3.0/scripts/addons/geometry_sketcher-main/operators.py", line 42 in draw_selection_buffer
File "/home/cmesh/.config/blender/3.0/scripts/addons/geometry_sketcher-main/operators.py", line 49 in ensure_selection_texture
File "/home/cmesh/.config/blender/3.0/scripts/addons/geometry_sketcher-main/gizmos.py", line 24 in test_select
To ReproduceQ
Steps to reproduce the behavior:
Expected behavior
Segfaults don't happen
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
Description
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
1.
2.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
Hi. I just purchased CAD Sketcher with $20 donation and did everything I am supposed to do by installing the add on and activate solver. But when I activate sketcher by sowing side menu and press add sketch, yes the XYZ surface place appears on 3D view port ... but that it. These XYZ planes somehow flickers like a weak flush and I can never select the plane. There appears Python error message and I cannot do anything except I go away form the sketcher.
Blender uses the Shift-Click to paradigm to select multiple objects. By default, click-selecting an object in Blender will un-select the previous selection unless Shift is used.
When editing a Sketch in CAD Sketcher, the behavior seems different: Sketch entities remain selected once clicked regardless of if Shift is held or not, and they remain selected until they are clicked on again.
It might be more intuitive to use the same UX pattern used elsewhere in Blender, and would have the added benefit of being slightly less click-intensive. The current behavior requires that a user click each entity at least twice: once to select it, and then later on it must be clicked again to un-select it.
Description
Start blender 3.1.2 , then delete all defaults, push N, add sketch, then add rectangle , then make construction line as seen in the screenshot
then click middelpoint (didnt get orange) the click construction line, then click constraints menu choose Distance, then click (see screenshot) upper right and then getting the error message
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I was expecting to click the first point then the second and filling in a distance for this partical line and learning from the youtube video
Screenshots
yes 2 screenshots
trying reproduce and yes, this message:
System Information:
When exiting a sketch, the last active CAD Sketcher tool remains active, even though it can only be used inside a Sketch (As far as I understand - perhaps I am wrong about this?).
It seems as if the expected/correct behavior would be to return the user to the last active "Native" Blender Tool. Additionally, perhaps the CAD Sketcher toolbar is only visible/active in contexts in which it can be used (i.e. when editing a Sketch).
Motivation / Existing Problem
IFC is a way of describing parametric geometry in the world of BIM (Building Information Management - basically the schema for digital buildings). Right now there is no nice UX for modifying these parametric profiles in Blender.
Description
I'd love to collaborate with the geometry sketcher plugin to integrate with IFC. Would you be interested in a collaboration or redesigning the plugin so it is more agnostic / generic and can be called from other add-ons too?
Description
the add a sketch button shows the planes but you can't selection, when you click on one they disappear
To Reproduce
Steps to reproduce the behavior:
Expected behavior
it should make a new sketch and let me draw on it
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
Motivation / Existing Problem
When creating new geometry, often times you use the context of other objects to snap to.
Description
When in sketch mode, be able to snap to existing geometry outside the sketch
Alternative Solutions
When drawing a sketch anew or editing an existing one, be able to snap vertices of the sketch to existing objects outside the sketch. Or an option, anyway, to toggle on/off the geometry outside the sketch.
Motivation / Existing Problem
The generated mesh gets deleted and recreated on each edit, meaning the geometry can't be reliably linked.
Description
The generated mesh should keep consistent identificators.
Please add possible uses for this feature
Somehow allow selecting overlapping entities
Right now converted meshes approximate curves with a given resolution. Ideally this resolution could be configured as users might want more detail on the converted mesh.
Since mesh converting is currently based on the bezier converter this simply boils down to setting the correct values in the bezier datablock before the to_mesh() method is called. Note that setting this property by the user doesn't work because the bezier object is temporary an gets recreated every time conversion happens.
This setting could probably be put in one of a few different scopes e.g. one setting for the addon/ per sketch/ per spline. For now it should be sufficient to simply have it per sketch.
Motivation / Existing Problem
Native selection tools offer different modes, add the same to the addon's select tool.
Description
Add selection modes to allow adding/substracting/toggling selection. Idealy follow blender's default keymap, see: https://docs.blender.org/manual/en/latest/interface/selecting.html#selecting-modes
It would be nice to be able to project lines from objects. this would be extremely helpful when building more complex objects
Description
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
1.
2.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information:
Add functionality to name created entities similar to sketches. The name should probably be editable from the entity's context menu and from the entity browser.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.