Fillet button not working in Blender 3.0 #94443

Closed
opened 2021-12-28 17:49:23 +01:00 by Tomislav · 26 comments

System Information
Operating system: Linux-5.15.11-arch2-1-x86_64-with-glibc2.33 64 Bits
Graphics card: NVIDIA GeForce GTX 1050/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 495.46

Blender Version
Broken: version: 3.0.0, branch: makepkg (modified), commit date: 2021-12-02 18:35, hash: blender/blender@f1cca30557
Worked: (newest version of Blender that worked as expected)

Addon Information
Name: Precision Drawing Tools (PDT) (1, 5, 1)
Author: Alan Odom (Clockmender), Rune Morling (ermo)

Short description of error
Fillet button not working in Blender 3.0

Exact steps for others to reproduce the error
when I try to make fillet on right upper selected vertex, nothing happening.
If I turn on console debug I get this error:

pdt_command.py:502| command: Fv['5.0', '10.0', '0.5']

pdt_command.py:503| obj: <bpy_struct, Object("Cube") at 0x7f0185705608>, bm: <BMesh(0x7f01a3175708), totvert=8, totedge=8, totface=0, totloop=0>, obj_loc: <Vector (0.0000, 0.0000, 0.0000)>
Traceback (most recent call last):

File "/usr/share/blender/3.0/scripts/addons/precision_drawing_tools/pdt_command.py", line 308, in command_run
  fillet_geometry(context, pg, mode, obj, bm, verts, values)
File "/usr/share/blender/3.0/scripts/addons/precision_drawing_tools/pdt_command.py", line 1108, in fillet_geometry
  bpy.ops.mesh.bevel(
File "/usr/share/blender/3.0/scripts/modules/bpy/ops.py", line 132, in __call__
  ret = _op_call(self.idname_py(), None, kw)

TypeError: Converting py args to operator properties: MESH_OT_bevel.segments expected an int type, not float
File "/usr/share/blender/3.0/scripts/addons/precision_drawing_tools/pdt_command.py", line 105, in command_run

I have attached blend file and screenshot.

Thank you.

[Based on the default startup or an attached .blend file (as simple as possible)]
radni_pdt.blend

Screenshot_2021-12-28_16-42-12.png

**System Information** Operating system: Linux-5.15.11-arch2-1-x86_64-with-glibc2.33 64 Bits Graphics card: NVIDIA GeForce GTX 1050/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 495.46 **Blender Version** Broken: version: 3.0.0, branch: makepkg (modified), commit date: 2021-12-02 18:35, hash: `blender/blender@f1cca30557` Worked: (newest version of Blender that worked as expected) **Addon Information** Name: Precision Drawing Tools (PDT) (1, 5, 1) Author: Alan Odom (Clockmender), Rune Morling (ermo) **Short description of error** Fillet button not working in Blender 3.0 **Exact steps for others to reproduce the error** when I try to make fillet on right upper selected vertex, nothing happening. If I turn on console debug I get this error: > pdt_command.py:502| command: Fv['5.0', '10.0', '0.5'] pdt_command.py:503| obj: <bpy_struct, Object("Cube") at 0x7f0185705608>, bm: <BMesh(0x7f01a3175708), totvert=8, totedge=8, totface=0, totloop=0>, obj_loc: <Vector (0.0000, 0.0000, 0.0000)> Traceback (most recent call last): ``` File "/usr/share/blender/3.0/scripts/addons/precision_drawing_tools/pdt_command.py", line 308, in command_run fillet_geometry(context, pg, mode, obj, bm, verts, values) File "/usr/share/blender/3.0/scripts/addons/precision_drawing_tools/pdt_command.py", line 1108, in fillet_geometry bpy.ops.mesh.bevel( File "/usr/share/blender/3.0/scripts/modules/bpy/ops.py", line 132, in __call__ ret = _op_call(self.idname_py(), None, kw) ``` TypeError: Converting py args to operator properties: MESH_OT_bevel.segments expected an int type, not float File "/usr/share/blender/3.0/scripts/addons/precision_drawing_tools/pdt_command.py", line 105, in command_run I have attached blend file and screenshot. Thank you. [Based on the default startup or an attached .blend file (as simple as possible)] [radni_pdt.blend](https://archive.blender.org/developer/F12779456/radni_pdt.blend) ![Screenshot_2021-12-28_16-42-12.png](https://archive.blender.org/developer/F12779457/Screenshot_2021-12-28_16-42-12.png)
Author

Added subscriber: @tomgag

Added subscriber: @tomgag
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

Thanks for the report. Fillet tool works fine here on both 3.0.0 and 3.1.0

{nav PDT Design Tools > Fillet} does not give python traceback to me.
Does this happen with specific mesh?

Thanks for the report. Fillet tool works fine here on both 3.0.0 and 3.1.0 {nav PDT Design Tools > Fillet} does not give python traceback to me. Does this happen with specific mesh?
Author

In #94443#1279590, @PratikPB2123 wrote:
Thanks for the report. Fillet tool works fine here on both 3.0.0 and 3.1.0

{nav PDT Design Tools > Fillet} does not give python traceback to me.
Does this happen with specific mesh?

It is happening on any mesh, I have tried simple plane object, and I get similar error when I select any vertex and try to make Fillet, it is working with bevel tool without problem.

> In #94443#1279590, @PratikPB2123 wrote: > Thanks for the report. Fillet tool works fine here on both 3.0.0 and 3.1.0 > > {nav PDT Design Tools > Fillet} does not give python traceback to me. > Does this happen with specific mesh? It is happening on any mesh, I have tried simple plane object, and I get similar error when I select any vertex and try to make Fillet, it is working with bevel tool without problem.
Member

Added subscribers: @clockmender, @lichtwerk

Added subscribers: @clockmender, @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'

Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'
Member

Also not getting an error here [havent traced it down, but there is indeed something weird going on in code, segements are supposed to be an int, but they are explicitly casted to float since {7597a8b66}].

@clockmender : could you comment if this was intentional?

Also not getting an error here [havent traced it down, but there is indeed something weird going on in code, segements are supposed to be an `int`, but they are explicitly casted to `float` since {7597a8b66}]. @clockmender : could you comment if this was intentional?

Added subscriber: @deadpin

Added subscriber: @deadpin

Changed status from 'Needs Developer To Reproduce' to: 'Confirmed'

Changed status from 'Needs Developer To Reproduce' to: 'Confirmed'

I can confirm and so can @PratikPB2123 on chat for 3.1 and 3.2 at least. This looks related to similar errors seen elsewhere when we moved to Python 3.10.

@tomgag since you use Arch, it is possible they shipped blender 3.0 using Python 3.10 -- can you check the Script Editor and see which version is printed there?

I can confirm and so can @PratikPB2123 on chat for 3.1 and 3.2 at least. This looks related to similar errors seen elsewhere when we moved to Python 3.10. @tomgag since you use Arch, it is possible they shipped blender 3.0 using Python 3.10 -- can you check the Script Editor and see which version is printed there?
Author

In #94443#1310870, @deadpin wrote:
I can confirm and so can @PratikPB2123 on chat for 3.1 and 3.2 at least. This looks related to similar errors seen elsewhere when we moved to Python 3.10.

@tomgag since you use Arch, it is possible they shipped blender 3.0 using Python 3.10 -- can you check the Script Editor and see which version is printed there?

It is Python 3.10 , it says "PYTHON INTERACTIVE CONSOLE 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0]"

> In #94443#1310870, @deadpin wrote: > I can confirm and so can @PratikPB2123 on chat for 3.1 and 3.2 at least. This looks related to similar errors seen elsewhere when we moved to Python 3.10. > > @tomgag since you use Arch, it is possible they shipped blender 3.0 using Python 3.10 -- can you check the Script Editor and see which version is printed there? It is Python 3.10 , it says "PYTHON INTERACTIVE CONSOLE 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0]"
Member

This is working fine on MacOS:

Screenshot 2022-02-21 at 08.58.23.png

As I recall I had to switch to using Float type in previous version mentioned above, I will try changing this back to Int and see if it still works on MacOS and keep you posted. I will have to download latest Blender & PDT from Blender servers to check I have exactly what you have on the servers first tho.

Cheers, Clock.

PS. Just checked on my Linux machine (Ubuntu Studio Latest) and it is also working fine there on Blender 3.0. I will investigate further....

This is working fine on MacOS: ![Screenshot 2022-02-21 at 08.58.23.png](https://archive.blender.org/developer/F12880172/Screenshot_2022-02-21_at_08.58.23.png) As I recall I had to switch to using Float type in previous version mentioned above, I will try changing this back to Int and see if it still works on MacOS and keep you posted. I will have to download latest Blender & PDT from Blender servers to check I have exactly what you have on the servers first tho. Cheers, Clock. PS. Just checked on my Linux machine (Ubuntu Studio Latest) and it is also working fine there on Blender 3.0. I will investigate further....
Member

OK, first thing, the parameter being passed here (Line 1063 of pdt_command.py):

_segments = float(values[1])

is a string, so it cannot be changed to an integer by Python (???) - gives an error message, however, it can be changed to a float and it works across the platforms I have. More interestingly and this may be the fix, if I do this to line 1063:

_segments = int(float(values[1]))

It works fine on my platforms as the float() Python function will recognise a string of the format "4.0", whereas int() will not, so doing a float then an int works. As I recall I had to change this to a float type in a previous version so it would work at all. Can I suggest that this is tried on the Linux Arch platform and please report back to me.

Cheers, Clock.

OK, first thing, the parameter being passed here (Line 1063 of pdt_command.py): ``` _segments = float(values[1]) ``` is a string, so it cannot be changed to an integer by Python (???) - gives an error message, however, it can be changed to a float and it works across the platforms I have. More interestingly and this may be the fix, if I do this to line 1063: ``` _segments = int(float(values[1])) ``` It works fine on my platforms as the `float()` Python function will recognise a string of the format "4.0", whereas `int()` will not, so doing a `float` then an `int` works. As I recall I had to change this to a float type in a previous version so it would work at all. Can I suggest that this is tried on the Linux Arch platform and please report back to me. Cheers, Clock.
Author

In #94443#1311086, @clockmender wrote:
OK, first thing, the parameter being passed here (Line 1063 of pdt_command.py):

_segments = float(values[1])

is a string, so it cannot be changed to an integer by Python (???) - gives an error message, however, it can be changed to a float and it works across the platforms I have. More interestingly and this may be the fix, if I do this to line 1063:

_segments = int(float(values[1]))

It works fine on my platforms as the float() Python function will recognise a string of the format "4.0", whereas int() will not, so doing a float then an int works. As I recall I had to change this to a float type in a previous version so it would work at all. Can I suggest that this is tried on the Linux Arch platform and please report back to me.

Cheers, Clock.

I did that and it works now. I have only changed line 1063 as you recommended.

Thank you.

> In #94443#1311086, @clockmender wrote: > OK, first thing, the parameter being passed here (Line 1063 of pdt_command.py): > > ``` > _segments = float(values[1]) > ``` > is a string, so it cannot be changed to an integer by Python (???) - gives an error message, however, it can be changed to a float and it works across the platforms I have. More interestingly and this may be the fix, if I do this to line 1063: > > ``` > _segments = int(float(values[1])) > ``` > It works fine on my platforms as the `float()` Python function will recognise a string of the format "4.0", whereas `int()` will not, so doing a `float` then an `int` works. As I recall I had to change this to a float type in a previous version so it would work at all. Can I suggest that this is tried on the Linux Arch platform and please report back to me. > > Cheers, Clock. I did that and it works now. I have only changed line 1063 as you recommended. Thank you.
Member

That's good, I have checked with latest alpha and it works there on MacOS. Maybe the Blender code now checks that an Integer is being passed in the native fillet command now, whereas before it was happy with a float?

Cheers, Clock.

That's good, I have checked with latest alpha and it works there on MacOS. Maybe the Blender code now checks that an Integer is being passed in the native fillet command now, whereas before it was happy with a float? Cheers, Clock.
Author

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

@clockmender are you sure? I'm still seeing the issue on 3.1 and 3.2 as of today:

With 3.1 (blender/blender@ec5bbebf3e)

Traceback (most recent call last):
  File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\addons\precision_drawing_tools\pdt_command.py", line 308, in command_run
    fillet_geometry(context, pg, mode, obj, bm, verts, values)
  File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\addons\precision_drawing_tools\pdt_command.py", line 1108, in fillet_geometry
    bpy.ops.mesh.bevel(
  File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\modules\bpy\ops.py", line 132, in __call__
    ret = _op_call(self.idname_py(), None, kw)

TypeError: Converting py args to operator properties:  MESH_OT_bevel.segments expected an int type, not float
File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\addons\precision_drawing_tools\pdt_command.py", line 105, in command_run

With 3.2 (blender/blender@fcda858e32)

Traceback (most recent call last):
  File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\addons\precision_drawing_tools\pdt_command.py", line 291, in command_run
    fillet_geometry(context, pg, mode, obj, bm, verts, values)
  File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\addons\precision_drawing_tools\pdt_command.py", line 1091, in fillet_geometry
    bpy.ops.mesh.bevel(
  File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\modules\bpy\ops.py", line 116, in __call__
    ret = _op_call(self.idname_py(), None, kw)

TypeError: Converting py args to operator properties:  MESH_OT_bevel.segments expected an int type, not float
File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\addons\precision_drawing_tools\pdt_command.py", line 88, in command_run
@clockmender are you sure? I'm still seeing the issue on 3.1 and 3.2 as of today: With 3.1 (blender/blender@ec5bbebf3e) ``` Traceback (most recent call last): File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\addons\precision_drawing_tools\pdt_command.py", line 308, in command_run fillet_geometry(context, pg, mode, obj, bm, verts, values) File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\addons\precision_drawing_tools\pdt_command.py", line 1108, in fillet_geometry bpy.ops.mesh.bevel( File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\modules\bpy\ops.py", line 132, in __call__ ret = _op_call(self.idname_py(), None, kw) TypeError: Converting py args to operator properties: MESH_OT_bevel.segments expected an int type, not float File "F:\blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\3.1\scripts\addons\precision_drawing_tools\pdt_command.py", line 105, in command_run ``` With 3.2 (blender/blender@fcda858e32) ``` Traceback (most recent call last): File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\addons\precision_drawing_tools\pdt_command.py", line 291, in command_run fillet_geometry(context, pg, mode, obj, bm, verts, values) File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\addons\precision_drawing_tools\pdt_command.py", line 1091, in fillet_geometry bpy.ops.mesh.bevel( File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\modules\bpy\ops.py", line 116, in __call__ ret = _op_call(self.idname_py(), None, kw) TypeError: Converting py args to operator properties: MESH_OT_bevel.segments expected an int type, not float File "F:\blender\blender-3.2.0-alpha+master.fcda858e3200-windows.amd64-release\3.2\scripts\addons\precision_drawing_tools\pdt_command.py", line 88, in command_run ```
Member

Has the mod to line 1063 in pdt_command.py gone on the Blender servers yet?

Has the mod to line 1063 in pdt_command.py gone on the Blender servers yet?

No, no one has submitted any code for review that I could find. If a fix is required, this task should remain open until the changes have been checked in etc. Reminder that 3.1 is due for release on March 9th.

Current history of the addon can be seen below:
3.1: https://developer.blender.org/diffusion/BA/history/blender-v3.1-release/precision_drawing_tools/
3.2: https://developer.blender.org/diffusion/BA/history/master/precision_drawing_tools/

No, no one has submitted any code for review that I could find. If a fix is required, this task should remain open until the changes have been checked in etc. Reminder that 3.1 is due for release on March 9th. Current history of the addon can be seen below: 3.1: https://developer.blender.org/diffusion/BA/history/blender-v3.1-release/precision_drawing_tools/ 3.2: https://developer.blender.org/diffusion/BA/history/master/precision_drawing_tools/
Member

Added subscriber: @ermo

Added subscriber: @ermo
Member

Ok, @ermo and I will do this tomorrow, it’s a bit late in Denmark now! I will post here when it’s done.

Ok, @ermo and I will do this tomorrow, it’s a bit late in Denmark now! I will post here when it’s done.

Changed status from 'Resolved' to: 'Confirmed'

Changed status from 'Resolved' to: 'Confirmed'

Alright, I've reopened this task so we don't forget :)

Alright, I've reopened this task so we don't forget :)

This issue was referenced by be0ed50606

This issue was referenced by be0ed5060652d2aae9f88e32b68022e26e86ba84
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Rune Morling self-assigned this 2022-02-26 14:49:22 +01:00
Member

Resolved in both master and blender-v3.1-release as of now.

Resolved in both master and blender-v3.1-release as of now.
Sign in to join this conversation.
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#94443
No description provided.