Code Monkey home page Code Monkey logo

cad_sketcher's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cad_sketcher's Issues

Sketch bevel tool

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.

A quick way to find the sketch associated with the object.

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'....

image

Line width not working on mac

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:

  1. Using the add-on on Macbook air M1

Expected behavior
To select the planes and sketche's edges without a hassle.

System Information:

  • OS: macOS Monterey 12.3.1
  • Blender Version: 12.3.1
  • Addon Version: 0.20.0

thin line blender

[BUG] NameError: name 'sys' is not defined

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:

  1. sorry
  2. see above

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:

  • OS: Win 10
  • Blender Version: 3.1.2, 2.93
  • Addon Version: 0.20.0

[BUG] No constraint text when set to imperial

Description
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. adding distance between two points
  2. It is not adding text. Text shows up on an angle, but not distance or diameter.

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.
image

System Information:

  • OS: Windows 10
  • Blender Version: 3.1.2
  • Addon Version: 0.20.0

py-slvs not available for python 3.10

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?

Constraint visibility

Allow user to handle display of constraints as they can be in the way sometimes.

  • Add a global constraints display toggle to hide all constraints
  • Add visibility property to constraint types similar to the entity's "visible" property

[BUG] - Add Sketch Planes Impossible to Select

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:

  1. ADD SKETCH (reveals the XYZ planes)
  2. Move the pointer to a plane (any of them), and as the pointer rolls over a plane's edge, that plane's edges light up indicating it's ready to receive a click.3.
  3. Any attempt to click misses that the planes disappear. I usually use a tablet, but with the frustration of tiny hand shakes I cannot successfully select a plane, I changed to a mouse, and still the same. The planes just drop out of site.
  4. No new sketch.

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:

  • OS: macOS 12.3.1
  • Blender Version: 3.1.2
  • Addon Version: 0.20.0

Easy way to change radius

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...

image

Switch active tool when entering & existing sketching mode

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.

How to start?

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

[BUG] Mesh rasterization seems to fail for complicated multi-part drawing

Description
When converting the following drawing (for finger cutouts in a block), the rasterized mesh does not match the shape of the drawing.

Screenshot from 2022-04-23 18-47-38

Screenshot from 2022-04-23 18-48-18

To Reproduce
Steps to reproduce the behavior:

  1. Seems to happen when using arcs and midpoint constraints. If I put the center of two arcs on a line and constrain the line to a midpoint (or to some distance from a point) then the solution that materializes is not expected. Don't have a perfect approach to reproducing yet, but here's another example of a mesh that fails to rasterize:

Screenshot from 2022-04-23 18-57-39

Screenshot from 2022-04-23 18-55-50

Expected behavior
I would expect for a rounded arc to be

Screenshots
Above

System Information:

  • OS: Linux Mint 20.04
  • Blender Version: 3.1.0
  • Addon Version: 0.20.0

Blend File is Attached.

hand_keyboard.blend.zip

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.

[REQUEST] Make Vertical/Horizontal edge constraints harder to delete by mistake

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.

Interactive dimensions

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.

image

image

have workplane rotate with object rotation

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.

Mockup
2022-02-13_11-52-51_Blender_blender
2022-02-13_11-53-02_Blender_blender
after rotation...
2022-02-13_11-53-21_Blender_blender
2022-02-13_11-54-37_Blender_blender

[REQUEST]when selecting a plane to do a sketch on it, it can only be selected by clicking on the exterior lines, and i can't find where to change its width so.. the line is soooo thin that i can't put the cursor over it to select the plane. it would be great to select on the plane itself or the lines must be much bigger. thanks.

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.

Copying objects, and copying it's profile along with it.

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

Dynamically set the workplane based off existing geometry

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

2022-02-13_12-32-18

[BUG]

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:

  1. do steps above, if you dont want the error message then after chosen the first line chose the second line then equal and this works good

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.

image
image

System Information:

  • OS: windows 10 pro english
  • Blender Version: 3.1.2
  • Addon Version: 0.20.0

Re-entering a sketch

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:

  1. I had just created a sketch with a circle, left it and tried to re-enter it

Expected behavior
Segfaults don't happen

Screenshots
If applicable, add screenshots to help explain your problem.

System Information:

  • OS: Debian testing
  • Blender Version: 3.0.1
  • Addon Version: master

[BUG] 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.

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:

  • OS:
  • Blender Version:
  • Addon Version:

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.

[REQUEST] Use the 'Shift-Click to multiselect' UX pattern

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.

Distance bug ?[BUG]

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:

  1. See above
  2. tried to reproduce and I getting error message again

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

bug blender 3 1 2
bug blender 3 1 2_2

trying reproduce and yes, this message:

image

System Information:

  • OS: Windows 10 pro english
  • Blender Version: 3.1.2
  • Addon Version: 0.20.0 Experimental

[REQUEST] clean up UX around toolbars when entering & exiting sketches

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).

Add integration with IFC

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?

[BUG] wont let me get started

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:

  1. start blender
  2. hit n to bring up the menu
  3. and click on sketcher
  4. click on Add Sketch to bring up the planes
  5. click on a plane and they go away

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:

  • OS: macbook air, m1 chip Mac OS 12.2.1
  • Blender Version: 3.1
  • Addon Version: 0.20.0

Snapping to outside geometry

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.

Mockup
image

Entity conversion resolution

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.

Project lines form objects

It would be nice to be able to project lines from objects. this would be extremely helpful when building more complex objects

construction line problem (?)

  1. draw rectangle, make it 4 meters on one side and 7 on the other.
  2. draw a diagonal line top right to bottom left, and make it a construction line
  3. click on the midpoint and the line and make the line a construction line.
  4. Resize the box to 20mm on one side and 40mm on the other. The construction line won't reach all the way to the bottom left.
  5. Delete the construction line and draw a new line top right corner to bottom left.
  6. Make it a construction line. The new line doesn't go all the way to the bottom left. Repeated attempts will produce the same result.
    Expected the original construction line to resize with the rectangle. Otherwise, expected the new construction line to maintain length when converted from a regular line.
    Using Blender 3.1.0 and latest version of sketcher (downloaded april 23)
    cosntructionLine

will not install [BUG]

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:

  • OS:
  • Blender Version:
  • Addon Version:

Allow entity naming

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.