Coder Social home page Coder Social logo

jmesh-tools's People

Contributors

jayanam avatar

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

jmesh-tools's Issues

Addon activation fails under Blender 2.83

Hi Jayanam,

I am working on a Macbook Pro (2017) and tried to install the JMESH addon but that fails:

  1. downloaded ZIP from github
  2. Blender 2.83 --> "Install" from ZIP (this works

When I try to activate the addon I get an error message:

Traceback (most recent call last):
File "/Applications/Blender.app/Contents/Resources/2.83/scripts/modules/addon_utils.py", line 351, in enable
mod = import(module_name)
File "/Users/wgeithner/Library/Application Support/Blender/2.83/scripts/addons/jmesh-tools-master/init.py", line 37, in
from . fc_apply_bool_op import FC_ApplyBoolOperator, FC_ApplyAllBoolOperator
ImportError: cannot import name 'FC_ApplyAllBoolOperator' from 'jmesh-tools-master.fc_apply_bool_op' (/Users/wgeithner/Library/Application Support/Blender/2.83/scripts/addons/jmesh-tools-master/fc_apply_bool_op.py)

Best regards
Wolfgang

Issues with "apply all booleans"

v1.2.8.3

Hi,

I will try to update this issue with additional errors if I find it.

I can reproduce this quite reliably but sometimes it works no problem. I have a feeling that this has something to do with ctrl+z when you undo things because of mistakes. But I had moments where this came up right from the start. I tried to look if it comes up when you use the same circle(blue outline) for all bools compared to you cancel(esc) after every bool and form a new one every time but cant seems to pin it down.

Another thing I noticed is when you undo, your primitive overlay rewinds too as it seems. That could be imagination tho edit: I pressed "snap to grid as it snapped back to polyline. Not quite reproducible.

This was a fresh start of blender

bpy.context.scene.apply_bool = False
bpy.ops.machin3.view_axis(axis='FRONT')
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, location=(0, 0, 0))
bpy.ops.object.fc_primitve_mode_op()
bpy.context.space_data.context = 'MODIFIER'
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.modifier_apply(modifier="FC_BOOL")
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.apply_all_bool()
Traceback (most recent call last):
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_apply_bool_op.py", line 75, in execute
modifier.object.hide_set(False)
AttributeError: 'NoneType' object has no attribute 'hide_set'

location: :-1

  1. There is also an error I cant really reproduce consistently or at all

Traceback (most recent call last):
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_apply_bool_op.py", line 82, in execute
obj.select_set(True)
RuntimeError: Error: Object 'Rect_Object' can't be selected because it is not in View Layer 'View Layer'!

This is prob a blender problem or user handling error

Primitive mode/tool crashes when switching tabs

v1.2.8.1

Hi,

when you enable primitive mode and than switch to lets say animation etc. and back to another tab it will crash the tool
Restart or new file required to reset it.

bpy.ops.machin3.new()
bpy.ops.object.fc_primitve_mode_op()
Traceback (most recent call last):
File "C:\Users\ username \AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_primitive_mode_op.py", line 190, in modal
mouse_pos_2d, mouse_pos_3d = self.get_snapped_mouse_pos(mouse_pos_2d_r, context)
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_primitive_mode_op.py", line 103, in get_snapped_mouse_pos
mouse_pos_3d = self.get_3d_for_mouse(mouse_pos_2d, context)
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_primitive_mode_op.py", line 115, in get_3d_for_mouse
mouse_pos_3d = self.shape.get_3d_for_2d(mouse_pos_2d, context)
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\types\shape.py", line 137, in get_3d_for_2d
origin, direction = get_origin_and_direction(pos_2d, context)
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\utils\fc_view_3d_utils.py", line 60, in get_origin_and_direction
region_3d = context.space_data.region_3d
AttributeError: 'NoneType' object has no attribute 'region_3d'

location: :-1

I have more errors for apply all/selected booleans but I need to find methods first the reproduce them on a reliable basis.

Request: Bevel Change (Arc Miter)

Inner Miter should either default to Arc or have an option to use Arc in the panel. It seems to always provide cleaner geometry and shading for corners due to spreading out the edges of the corner bevel rather than collecting them all into one vertex. Seems it only needs the line bevel.miter_outer = 'MITER_ARC' added to the fc_bevel_util.py code with the other bevel modifier info.

Also, boosting the segment count to 6 and setting the bevel profile to 0.5 seems to be the final segment count that noticeably makes beveled edges smoother before it hardly looks different at all, at least with the weighted normals modifier.

Primitive Mode Polyline crash

When I use the Primitive Mode and need to undo any action the Blender closes suddenly.
It happens in Blender 2.83.7 LTS and Blender 2.90.1

Add a option to customize the tab

Hi.

Same request for this addon than : jayanam/shortcut_VUr#20

It would be convenient to have an option in the preferences of your add-on to give the user the choice of the tab to display your add-on (in order to move the add-on from its own tab to a custom one).

Thank you in advance.

Mouse wheel to adjust array distance

Just an idea if it's not too much:
While maintaining the current option to type in the 'distance box', perhaps there can be a mouse scroll adjustment in increments of something like 10 cm, holding shift to adjust in 1cm and holding ctrl adjusts in 50 cm.. something like that.
Or maybe a toggle that switches between meters/cm/mm - whichever you think works nicer.

Thank you.

Symmetrize direction

I've set symmetrize direction to opposite but still symmetrizing in the selected side. Hope gets fixed :)
Anyway Great tool!

Suggestion: Replace the OSD with a panel with proper controls (e.g. drop-down menu)

The OSD for primitives does not have consistent behavior:

  1. Some of the keys change the option.
  2. The others execute the command.

There is no indication which is which.

For example,
image

P, O, M and C change what is listed on the left.
But CTRL+Click and ESC execute the command listed on the left.

Then it is best to present the first four options as drop-down menu, and the last two as tooltip.

Just like the window that pops up in the left bottom corner when a circle is added in Blender:
image

Request: Add Modifier "Weighted Normal"

The Weighted Normal modifier is basically made for this, non-subdivided geometry with ngons and bevels. Needs the line bpy.ops.object.modifier_add(type='WEIGHTED_NORMAL') added after the code for adding the bevel modifier in fc_bevel_util.py and nothing else; the default values seem to be just fine.

Refactoring (ongoing tasks)

  • Primitive shapes need a cleaner interface
  • Divide shape in smaller parts like wrapper for vertex, edge class. Goal is to add measurements to these, make them selectedable...
  • ...

Feature request - architectural window

Feature request

Click button in jmesh panel to create a architectural window ie house window at the
3d cursor position in either X,Y or viewport direction

Here are some videos I made while practicing the technique.
[method 1 video]https://drive.google.com/file/d/12903pTxLv6pksa6DITWQfBdX78PZNaen/view?usp=sharing)
[method 2]https://drive.google.com/file/d/1QHkHq7w-4FZUH4rs4jPBua_zWxQYIVuW/view?usp=sharing
[method 3]https://drive.google.com/file/d/1NFM4MKLxnhwi5YHKDLMmMDvvQY4bCwIB/view?usp=sharing

circular array undo crash

jmesh version 1.2.6.0

Blender 2.83 and recent 2.90
Procedure step by step....
-Start with default scene
-move default cube along x axis
-open jmesh and click on circular array icon
-press Ctrl-Z to undo
-blender app crashes


Array function additions

  1. Add a switch to array 'from' or 'around' the original object. The average of all origins is used as center.

  2. Move object's duplicate to the end of proposed array and "fill in" space between the original and the duplicate with however many copies, evenly spaced.

Base array object disappears after applying modifier

JMesh 1.8.1.8 in Blender 2.92

Primitive shape is applied as a Slice operation, then arrayed by use of the JMesh side panel, the original slice object disappears. This leaves a hole where the slice object was. Other arrayed sliced objects appear correctly.

However, using JMesh side panel Array command is the only way to array the primitive when using the mirror modifier.

Grammatical clarity suggestion, not really an issue

Hello and thank you again for what you have created shared with us. very useful tool sets.
I was reading the description of this project, and the way it was worded caused me to think that this was the older project
"Blender 2.8 / 2.9 mesh and hard surface utilities addon (before it was Fast Carve)"
If this was changed to 'Blender 2.8 / 2.9 mesh and hard surface utilities addon (previously known as Fast Carve)'
or 'Blender 2.8 / 2.9 mesh and hard surface utilities addon (formerly Fast Carve)'
Certainly not a terribly important issue, but i actually went and checked the dates on the Fast Carve project thinking that this was the project before Fast Carve, and that Fast Carve was the update. :)
Thanks again, and be well

circle normal is wrong direction

jmesh 1.5.4.1 and blender 2.92 experimental
video file download

-open new document in blender 2.92 --> 'Shading' workspace
-the default cube is seen in viewport
-press the 'primitive' button
-press 'P' key to select circle
-ctrl click on cube
-do not hold ctrl key down
-move mouse in outward direction to make a circle !!!! very important to move outward !!!!
-left click to create the circle

  • alt m to fill the circle
    -check normal directions --> circle is wrong normal direction

In the 'Layout' workspace I couldn't duplicate this outcome.
Also holding the CTRL key down while making the circle seemed to change the normal direction to be correct.

If I follow the procedure above I can reproduce the error every time.

Symmetrize only selected face/edge possible?

Since you introduced a symmetrize gizmo would it be possible to symmetrize also only selected geo in edit mode like for example you want an antenna on the other side but dont want the surrounding geo. The hp config symmetrize pie does that while holding ctrl for example.

Clone from center (to left and right) via modifier

Would be nice to be able to clone from center position to two axis (eg. left + right).
Best via modifier to keep none destructive workflow.

Currently only possible via geometry nodes which is very cumbersome.

cloner.mp4

Feature request: allow user to change types of handles of "curve" primitive

When a curve is added, JMeshTools adds two handles for each point on the curve. But as the following screenshot shows, both handles always remain diagonally opposite (also known as "smooth transition").

image

Desired:
Let the user toggle the type of the handles between Corner, Smooth transition and symmetric transition, as shown below.

image

Circle creation on subdivision modifier

blender-2.93.0-450ea1b755cb-linux64 and newest jmesh 1.8.4.6
video download
Size 422 KB -short video showing the freeze occurring
https://drive.google.com/file/d/1m7geitxAmkA-FbeKo2pxMzXsoMqwTxdP/view?usp=sharing

I was testing the creation of a circle primitive
when I came upon an odd bug.

Method to cause freeze:

  • start with default cube
  • Ctrl-3 to invoke the subdivision modifier
    -start jmesh and click 'Primitive' button
  • press P and create a circle on the surface of subdivided cube
    -the circle can be moved if the user wishes
    -Ctrl click on white square will freeze jmesh.
    Error message displays for short time.
    Fortunately blender will still work

error message:

center = bm.faces[face_index}.calc_center_median()
IndexError:BMElemSeq[index]:index 220 out of range


Additional information....

I tried the mirror modifier on a default cube and there was no problem
with centering the circle but when I tried both the subdivision modifier
and the mirror modifier --> jmesh freezes
The order of the modifiers doesn't matter.

Buglet: The circle primitive needs three optimizations

There are three tiny problems in the OSD (on-screen display) for the Circle primitive:

  1. In the first OSD, there is one issue: Instead of "Start", it should be "Click at center", because the user must start at the desired center of the circle by clicking there.
    image

    The OSD changes at this point to-
    image
    This display has two tiny issues:

  2. If the user creates the circle, he cannot set segments. Therefore, the Set segments command should be listed BEFORE the Create command.

  3. The creation of circle involves three steps, but the ESC key aborts the whole sequence, instead of undoing the sequence step-by-step. Therefore ESC can be best described as "Abort" (not "undo").

Feature request: Allow user to scale and/or offset the primitive

Currently, I can only move the individual points of a primitive. This is not accurate to give me a uniform offset from the original shape. (IINW the "move points" feature is not meant to scale the primitive in the first place.)

If I can use Scale or Offset operation on the primitive, I get the chance to slice and step-change in the extrusion, etc.

For example, I draw a primitive circle of 1 cm dia, and extrude it through the target shape. Then I use Difference. Then I scale/offset the circle to 2 cm, and extrude it to 1 cm and again use Difference.

The current workaround is to create these shapes outside the Addon, and then duplicate them, scale the duplicate, and then use both objects one by one on the target object.

Bevel button incompatible --> mirror modifier with mirror object

Issue with jmesh-tools version 1.0.4.0 and earlier:
I can make mirror modifier go nuts by the following....

  1. start with cube

  2. create a cylinder nearby

  3. select the cube and make a mirror modifier using the cylinder in middle
    i.e. the cylinder is ticked as the mirror object (see image for result of the mirroring)
    The image shows mirroring about y axis but I could have chosen x-axis as well.
    screenshot-bevel-problem

  4. select the cylinder and click on 'Bevel' button that jmesh supplies.

  5. the second cube disappears

Crashes after Escape then Undo

Crashes after Undo.

apply operation w ctrl left click. press excape (1 time only), then press ctl z. crashes blender.

apply operation w ctrl left click. press excape (2 time only), then press ctl z. does not crash blender.

cheers. thanks.

Slice And Solidify feature Request

I have seen this feature in Boxcutter and it will be great if it is added to JMesh Tools.

Basically, you take an object and apply the difference boolean :
Boolean

And then you apply a solidify modifier to the boolean object :
Solidify

In Boxcutter you can use the slice operation and then press ' T ' to solidify and get similar results.

@jayanam Thank you for such a great addon - Arib Ansari

Qol and other things...

Hi,

I thought about some things that could be beneficial for other people and the overall polish.
Some are based on personal pref. ofc :)

  1. Maybe create a field for custom presets inside the addon preferences to set the segments on a circle for example. Or set a preferred way of displaying objects or pending bools (textured, wire etc).

  2. Use the booltool icons for your difference, union etc buttons
    A minor thing and since they are already named properly maybe unnecessary.
    bool

  3. This one would be very cool ;)
    For non destructive work it would be awesome if the pending bools would be disabled inside the render by default as soon as they are created. Since you mostly never apply your modifiers on a project and you def dont want them to appear there. This would be only one click away but would also save one click :)
    render

  4. Auto smooth & shade smooth difference bool objects(maybe only needed for circles?) before/after they cut into the mesh. Eliminates the need for doing that manually.
    Left one is a 32 segment cut compared to the right which was a created circle + shade smooth and auto smooth normals. Non sure if this could be handy on "apply immediately" activated since you can smooth the object directly after applying but sometimes you dont want that. Make it a checkbox maybe ?!
    smooth

  5. I saw those little info msg and thought maybe you could implement this for communicating things back to the user like errors without displaying this intimidating python terminal popup. Or other things...
    tooltip

thx

Boolean operation doesn't work correctly with mirror modifier

Boolean operation doesn't work correctly with an object with a mirror modifier:

Blender 2.92 final and 2.93 experimental -->
doesn't work as it should. However it does appear to try to do the operation.

The built-in addon 'Boolean Tools' does work correctly however the mirror modifier is applied
first then the boolean operation is done. There is no warning message that the modifier is being applied.

Issues with "apply selected booleans"

v1.2.8.3
Blender 2.82.7

Hi,

  1. I placed 2 random non destructive bools. Alt+h to unhide them and then I selected one and I pressed apply selcted bool button. Ctrl+z to undo that....selected the same bool object again and this came up. It works and than it doesnt ...mhm

When this comes up it also seems to randomly applies the bools but doesnt delete the objects afterwards
error

bpy.context.scene.use_snapping = False
bpy.context.scene.apply_bool = False
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, location=(0, 0, 0))
bpy.ops.machin3.view_axis(axis='FRONT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.hide_view_clear()
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.delete()
bpy.ops.object.apply_bool()
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.apply_bool()
Traceback (most recent call last):
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_apply_bool_op.py", line 42, in execute
obj.select_set(True)
AttributeError: 'ID' object has no attribute 'select_set'

location: :-1

2nd one with different primitives

bpy.ops.mesh.primitive_cube_add(enter_editmode=False, location=(0, 0, 0))
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.hide_view_clear()
bpy.ops.object.modifier_apply(modifier="FC_BOOL")
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.delete()
bpy.ops.object.delete()
bpy.ops.object.apply_bool()
bpy.ops.object.modifier_apply(modifier="FC_BOOL")
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.delete()
bpy.ops.object.delete()
bpy.ops.object.apply_bool()
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles()
bpy.ops.object.editmode_toggle()
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='MEDIAN')
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.hide_view_clear()
bpy.ops.object.modifier_apply(modifier="FC_BOOL")
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.delete()
bpy.ops.object.delete()
bpy.ops.object.apply_bool()
bpy.ops.object.modifier_apply(modifier="FC_BOOL")
bpy.ops.object.modifier_apply(modifier="FC_BOOL.001")
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.object.delete()
bpy.ops.object.apply_bool()
Traceback (most recent call last):
File "C:\Users\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_apply_bool_op.py", line 42, in execute
obj.select_set(True)
AttributeError: 'ID' object has no attribute 'select_set'

location: :-1

Feature request: Allow user to rotate the primitive

Now we can scale some primitives, and we can move all primitives. But we cannot rotate them in an intuitive way:

  1. The rectangle can be rotated jerkily, with multiple keystrokes of R key.
  2. The regular polygons (derived from the circle) cannot be rotated.
  3. A polyline cannot be rotated.

Desired:
Let the user rotate the primitive like the rest of the Blender:

  1. By dragging the mouse
  2. If the CTRL/SHFT key is pressed while dragging the mouse, modify the rotation behavior.

Note that the center of rotation does not have to be set: The user can always drag the rotated object to the correct place he wants.

Jmesh-tools error

Jayanam

I receive the following error when enabling JMesh Tools, would you know what could be causing the error:

ERROR (rna.define): c:\b\win64_cmake_vs2017\win64_cmake_vs2017\blender.git\source\blender\makesrna\intern\rna_define.c:1840 RNA_def_property_enum_items: "Prefs.center_type", enum identifiers must not contain spaces.

I'am using blender 2.83 the latest experimental build.

Thank you
Mark

Suggestion: Move cutters into a different collection

Hi,

when you work non-destructively it would be cool if you could move cutters into a new collection to make it more clear and maybe rename them properly. And hide them by default :)
Just some inspiration I got from seeing boxcutter in action.

Thx

Crash when add shape [1.92.0]

Python: Traceback (most recent call last):
File "C:\Users\Ludovic\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\jsculpt-tools-master\fsc_add_object_op.py", line 88, in modal
self.add_object(context, mouse_pos)
File "C:\Users\Ludovic\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\jsculpt-tools-master\fsc_add_object_op.py", line 115, in add_object
hit, loc_hit, norm, face, *_ = scene.ray_cast(context.view_layer, origin, view_vector)
TypeError: Scene.ray_cast(): error with argument 1, "depsgraph" - Function.depsgraph expected a Depsgraph type, not ViewLayer

location: :-1

Question/bug?!

Hi,

when I click "apply boolean" without having any bools active, it deletes my current selected object.
Is that a intended feature? The same for when I have bools (non applied) active, when I select my main object all the bools are still there but the selected object get deleted. I think I dont understand what the "apply boolean" button is for lol

Edit: The tooltip says "applies pending bool operators"
From what I can tell it doesnt do that
It seems like to work like a delete selected button
"delete after apply" is active btw

New feature request 1: Specify size of Rectangles

Enter precise numbers for Rectangle primitive. Just like the little red square for Circle.

Ideally, add "live entry" typing numbers after you Ctrl+Left Click. And if possible, enter two sides separated by a comma. That would be great for regular Blender primitives also, as currently there is no Rectangle primitive (both 3d cube and 2d plane have equal sides).

Feature: Gizmo

A gizmo should be added to the primitives so that these can be

  • moved after creation
  • scaled after creation

Array in a negative direction

Hi, can you set up a way to either enter a negative value in the text bar for the 'JMesh array' or be able to scroll on the mouse wheel to select a distance (both positive and negative value)?
Thank you!

The Polyline section offers Boolean operation too early in the workflow; creates confusion

The polyline workflow is as follows:

  1. Select a polyline
  2. Draw it.
  3. Adjust the shape (fine-tuning)
  4. Extrude it (the extruded shape can be either inside the target shape or outside it).
  5. Execute a Boolean operation between the polyline extrusion and the target shape.

So the on-screen display (OSD) should show only the relevant steps at each step.
But as the following screenshot shows, the OSD shows Boolean operation right from start.

image

This confuses the user.

Desired:
The "Boolean" control should appear only AFTER the polyline is extruded.

In fact, there is no need for separate controls for the Boolean operations, as the top section of the JMeshTools Addon already has a nice panel for Boolean operations. The Booleans with Polyline can be handled with that section.

1.2.8.1 cant be activated

Hi,

sry for spamming the issues :(

Modules Installed (jmesh-tools-master) from 'E:\Blender_files\Addons\jmesh-tools-master1.2.8.1.zip' into 'C:\Users\ username \AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons'

1 click (activation)

Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\modules\addon_utils.py", line 330, in enable
importlib.reload(mod)
File "C:\Program Files\Blender Foundation\Blender 2.82\2.82\python\lib\importlib_init_.py", line 169, in reload
_bootstrap._exec(spec, module)
File "", line 630, in _exec
File "", line 728, in exec_module
File "", line 219, in call_with_frames_removed
File "C:\Users\ username \AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master_init
.py", line 37, in
from . fc_apply_bool_op import FC_ApplyBoolOperator, FC_ApplyAllBoolOperator
ImportError: cannot import name 'FC_ApplyAllBoolOperator' from 'jmesh-tools-master.fc_apply_bool_op' (C:\Users\ username \AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_apply_bool_op.py)

2 click (activation)

Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\modules\addon_utils.py", line 351, in enable
mod = import(module_name)
File "C:\Users\ username \AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master_init_.py", line 37, in
from . fc_apply_bool_op import FC_ApplyBoolOperator, FC_ApplyAllBoolOperator
ImportError: cannot import name 'FC_ApplyAllBoolOperator' from 'jmesh-tools-master.fc_apply_bool_op' (C:\Users\ username \AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\jmesh-tools-master\fc_apply_bool_op.py)

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.