shaise / freecad_fastenerswb Goto Github PK
View Code? Open in Web Editor NEWA workbench to add/attach various fasteners to parts
License: GNU General Public License v2.0
A workbench to add/attach various fasteners to parts
License: GNU General Public License v2.0
Please extend the length range of the ISO4762 screws to 35mm (currently 30mm). I'm modeling around parts from an extruder kit that uses M3 socket-head cap-screws of that length, so I'm sure they exist. :)
I found the line, I can try and make a pull request if you'd like.
https://github.com/shaise/FreeCAD_FastenersWB/blob/master/screw_maker.py#L1082
Thank you very much for creating this extremely useful addon! :)
Threads are very widespread in technic, and there are even special conventions to mark threads on blueprints without drawing them.
So I guess that all bodies of revolution in freecad should have a property, making them as threaded. This may allow marking threads when making drawings, marking and showing threads without real rendering them in 3d (for example it is possible to apply a texture or a shader to show them) and importing threads from OpenSCAD (there is a library making threads, but nothing prevents us threat the symbols defined there as intrinsics) keeping them as metadata not a 3d model.
I'd like to call createFastener
after selecting a circular edge to attach a screw to a hole, but I'm getting the following error.
>>> sm.createFastener('ISO4014', 'M24', '120', 'simple')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/home/g/snap/freecad/8/.FreeCAD/Mod/fasteners/ScrewMaker.py", line 264, in createFastener
return self.createScrew(type, diam, len, threadType, shapeOnly)
File "/home/g/snap/freecad/8/.FreeCAD/Mod/fasteners/screw_maker.py", line 2263, in createScrew
self.moveScrew(ScrewObj)
File "/home/g/snap/freecad/8/.FreeCAD/Mod/fasteners/screw_maker.py", line 2280, in moveScrew
for o in Gui.Selection.getSelectionEx():
NameError: global name 'Gui' is not defined
Based on the stack-trace, the error is coming from the following line of code:
https://github.com/shaise/FreeCAD_FastenersWB/blob/master/screw_maker.py#L2280
Should this be FreeCADGui
instead of Gui
?
I manually changed Gui
to FreeCADGui
locally, which fixed the error, but still didn't align the screw to the selected circular edge or hole.
Is this expected behavior? Any ideas on how to programmatically align the screw to a selected circular edge?
OS: Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16093 (Git)
Build type: Unknown
Branch: master
Hash: 690774c0effe4fd7b8d2b5e2fb2b8c8d145e21ce
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.0.0
Locale: English/UnitedStates (en_US)
OS: Ubuntu 18.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.1.
Build type: Release
Python version: 2.7.15rc1
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
Error:
invalid literal for int() with base 10: '18.1'
Traceback (most recent call last):
File "", line 45, in Initialize
File "/home/rene/.FreeCAD/Mod/fasteners/FastenerBase.py", line 58, in
DropButtonSupported = int(FreeCAD.Version()[1]) > 15 # and int(FreeCAD.Version()[2].split()[0]) >= 5165
Most of the work is already done in makeIso7380(), a rivet can be produces by optioning the code that makes the hex recess.
First at all - thank you for the great fasteners work bench!
Would it be possible to integrate square nuts, too?
https://www.schrauben-lexikon.de/norm/DIN_557.asp
https://www.schrauben-lexikon.de/norm/DIN_562.asp (low version)
Or may be you could give me a hint which code snipped I have to manipulate? I'll try.
Have a nice day!
yo-k
Running:
OS: Manjaro Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15671 (Git) AppImage
Build type: Release
Branch: master
Hash: 28cbe2bd8986701bb7404842cf60138957e23ed6
Python version: 3.6.7
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
After installing latest Fasteners WB and restarting FC
Switching to Fasteners returns:
invalid syntax (ScrewMaker.py, line 258)
Traceback (most recent call last):
File "<string>", line 45, in Initialize
File "/home/beast/.FreeCAD/Mod/fasteners/FSScrewCalc.py", line 141, in <module>
import ScrewMaker
Nylon-insert nuts are missing. They are sized differently so standard nuts can't be used as a replacement.
Traceback (most recent call last):
File "/home/vlad/.FreeCAD/Mod/fasteners/FastenersCmd.py", line 31, in
import FastenerBase
File "/home/vlad/.FreeCAD/Mod/fasteners/FastenerBase.py", line 58, in
DropButtonSupported = int(FreeCAD.Version()[1]) > 15 # and int(FreeCAD.Version()[2].split()[0]) >= 5165
<class 'ValueError'>: invalid literal for int() with base 10: '18.1'
Fixed locally casting FreeCAD.Version()[1] to float and then to int.
Hi,
Since 3D printing is around our lives it is very common to design lots of parts to be printed. For assemblies it is also very common to create all kind of holes or grooves in order to fit bolts and nuts.
As it became a repetitive task, I created a holes/grooves library with a standard play of 0,3mm for easy accommodation of bolt/nuts and easy access for tuning the length of holes.
Here you have my library for better understanding it.
Do you think it would be a nice addition to include a parametric set of this "idea" into your workbench?
@yorikvanhavre is intent on having all workbenches have some representation on the wiki. The Fasteners WB is at www.freecadweb.org/wiki/Sandbox:Fasteners
Lets move it out of Sandbox and soup it up?
Also I wonder if there is a way for mediawiki to mirror the changelog for Fasteners on Github ? That way WB authors don't need to do double work when they modify their WBs (unless they add/remove feature(s) which then merits editing the wiki)
Would it be possible to add a 'die' tool/feature that allow the making of a external thread on a existing shaft, also with a selection of thread length?
Hi, just installed this WB: looking good!
Only issue is i can't click on a circle of a feature (in a body of Part Design Next) to attach fasteners. FC shows the fastener in the tree with an error message "Links go out of the allowed scope".
However, should i deselect everything, the fastener spawn at 0,0,0 and i can move it where i need. I lack the offset and flip though; Also i need to move every fastener whenever i modify my model.
Is this normal? Are there some workarounds?
I installed the WB through FC.
OS: elementary OS 0.4.1 Loki
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.12412 (Git)
Build type: None
Branch: master
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: Italian/Italy (it_IT)
Hello,
I have just installed the fasteners workbench through the addon manager but when I try to use it gives me an error saying unknown dialect. In report view the following appears:
unknown dialect
Traceback (most recent call last):
File "<string>", line 46, in Initialize
File "/home/luca-ivan/.FreeCAD/Mod/fasteners/FastenerBase.py", line 30, in <module>
from screw_maker import *
File "/home/luca-ivan/.FreeCAD/Mod/fasteners/screw_maker.py", line 136, in <module>
itemdict = csv2dict(itempath,fieldsnamed=True)
File "/home/luca-ivan/.FreeCAD/Mod/fasteners/screw_maker.py", line 116, in csv2dict
reader = csv.reader(data, skipinitialspace=True, dialect='unix', quoting=csv.QUOTE_NONNUMERIC)
It seems that there is an error with csv but I don't know how to solve it. I use Linux Debian and FreeCAD 0.18
Thank you for your time.
Hi
I like the way, how I can place fasterners. Now I would like to create a BOM for my delta printer.
When I group washers and screws, ect., BOM wil count attached component twice. Please look inthe forum:
https://forum.freecadweb.org/viewtopic.php?f=3&t=44577
Please, can you confirm this behavior?
Thanks
Hanspeter
For electronics assemblies it would be nice to add standoff & spacers like in the linked documentation
with some screws (i.e. DIN967, ISO7045, ISO7046, ISO7047, ISO7048)
I get the following errors:
Traceback (most recent call last):
File "C:\Users\mau\AppData\Roaming\FreeCAD\Mod\fasteners\FastenersCmd.py", line 119, in execute
s = screwMaker.createScrew(fp.type, d, l, threadType, True)
File "C:\Users\mau\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 2205, in createScrew
screw = self.makeIso7045(ST_text, ND_text,l)
File "C:\Users\mau\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 2717, in makeIso7045
recess, recessShell = self.makeCross_H3(cT, mH, hcr)
File "C:\Users\mau\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 5007, in makeCross_H3
crossFaces.append(crossShell.Faces[i])
<type 'exceptions.IndexError'>: list index out of range
PS thx for this nice WB
Maurice
What is the purpose of the parenthesis in the diameter dropdown on some fasteners?
E.g. diameter: (M27) is with parenthesis and M24 is not.
It'd be helpful to document the valid types, diameters, and lengths that can be passed into createFastener
.
It could be tedious to manually maintain API documentation for createFastener
, and we don't really control this information as it comes from @ulrich1a screw_maker macro.
Therefore, we could auto-generate it somehow.
Maybe a generate_docs.py
script that parses screw_maker.py
into a MarkDown file.
My rough idea is to document the name, type, diameters, and lengths for each fastener in separate tables underneath a heading linked to by an inline anchor link at the top of page.
Name | Type | Diameters | Lengths |
---|---|---|---|
Screw | ISO4017 | M1.6 M2 M2.5 M3 (M3.5) M4 M5 M6 M8 M10 M12 (M14) M16 (M18) M20 (M22) M24 (M27) M30 (M33) M36 (M39) M42 (M45) M48 (M52) M56 (M60) M64 |
2 3 4 5 6 8 10 12 14 16 20 25 30 35 40 45 50 55 60 65 70 80 100 110 120 130 140 150 160 180 200 |
Name | Type | Diameters | Lengths |
---|---|---|---|
Screw | ISO4014 | TODO | TODO |
Name | Type | Diameters | Lengths |
---|---|---|---|
Screw | EN1662 | TODO | TODO |
Name | Type | Diameters | Lengths |
---|---|---|---|
Screw | EN1665 | TODO | TODO |
TODO
Name | Type | Diameters | Lengths |
---|---|---|---|
Screw | ISO2009 | ||
Screw | ISO2010 | ||
Screw | ISO4762 | ||
Screw | ISO10642 | ||
Screw | ISO1207 | ||
Screw | ISO1580 | ||
Screw | ISO7045 | ||
Screw | ISO7046 | ||
Screw | ISO7047 | ||
Screw | ISO7048 | ||
Screw | DIN967 | ||
Screw | ISO7380-1 | ||
Screw | ISO7380-2 | ||
Screw | ISO14579 | ||
Screw | ISO14580 | ||
Screw | ISO14582 | ||
Screw | ISO14583 | ||
Screw | ISO14584 | ||
Washer | ISO7089 | ||
Washer | ISO7090 | ||
Washer | ISO7092 | ||
Washer | ISO7093-1 | ||
Washer | ISO7094 | ||
Nut | ISO4032 | ||
Nut | ISO4033 | ||
Nut | ISO4035 | ||
Nut | EN1661 | ||
Nut | DIN557 | ||
Nut | DIN562 | ||
Nut | DIN985 | ||
ScrewTap | ScrewTap |
Please include the screws DIN-6912.
Soon the Addon Installer will have more complexity. In preparation for it we are discussing how to augment it check out: FreeCAD/FreeCAD-addons#29 (comment)
Lets get Fasteners WB on-board with these changes!
OS: Ubuntu 16.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14779 (Git)
Build type: Release
Branch: master
Hash: 50ab6e292cc83cada4a5b071531a76f5a2580f60
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
There seems to be a problem with the ISO 14584 screws. The torx pattern is generated above the screw head, and the screw is generated as a hollow object. I tested the bug using all the available parameters and it appeared every time.
Currently when 3d printing parts with nuts and bolts, they don't fit together. Some testing shows the nut need to be scaled upward by 110% when printing, then they fit on the bolt thread. Standard nuts will fit a bolt properly.
enhancement requests
To do so, first switch the "Display Mode" of the body from "Through" to "Tip". This can be found in the "Data" tab of the Body's properties panel. To continue editing the Body, switch back to "Through"
Should be "View" tab
Hi, I am trying to use the PCB Metric Standoff, but it does not allow me to change settings freely. Only few options on the list.
For instance, I would like to create this one, but the lengths available are 10 mm and 12 mm. The length is a list and not an input field. There is no way to type 11 mm there.
https://lgtm.com/projects/g/shaise/FreeCAD_FastenersWB/?mode=list
[![Total alerts](https://img.shields.io/lgtm/alerts/g/shaise/FreeCAD_FastenersWB.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/shaise/FreeCAD_FastenersWB/alerts/)
Hi,
the fork (https://github.com/wieck/FreeCAD_FastenersWB/tree/scaling) can not be found via addon manager. There is only your FastenersWB. But you should find the fork according to its installation instructios in addon manager. However, manual instalation works and the WB is available in the dropdown list in Freecad. But if I also install your WB now, it behaves strange. The icon of the fork will be displayed, but your WB (where you can not scale) will load.
So both WB can not coexist (and yes, they are in different folders).
Please fix this issue so both Fastener WB's can coexist in the addon manager and also in freecad
Originally posted by @shIxx01 in #31 (comment)
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Error creating thread in M5 nut (ISO-4032, ISO-4033, ISO-4035).
Same error "makeIso4032" with (ISO-4032, ISO-4033, ISO-4035) nuts:
Traceback (most recent call last):
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\FastenersCmd.py", line 121, in execute
s = screwMaker.createFastener(fp.type, d, l, threadType, True)
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\ScrewMaker.py", line 264, in createFastener
return self.createScrew(type, diam, len, threadType, shapeOnly)
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 2230, in createScrew
screw = self.makeIso4032(ST_text, ND_text)
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 4655, in makeIso4032
nutShell = Part.Shell(nutFaces)
<class 'Part.OCCError'>: Shape is not a shell
Error creating thread in M5 nut (EN-1661):
Traceback (most recent call last):
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\FastenersCmd.py", line 121, in execute
s = screwMaker.createFastener(fp.type, d, l, threadType, True)
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\ScrewMaker.py", line 264, in createFastener
return self.createScrew(type, diam, len, threadType, shapeOnly)
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 2234, in createScrew
screw = self.makeEN1661(ND_text)
File "C:\Users\atnwe\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 4825, in makeEN1661
headShell = Part.Shell(topFaces)
<class 'Part.OCCError'>: Shape is not a shell
At a choice DIN-557, DIN-562, DIN-985 the thread is not created with any size and without errors.
I'd like to add it to this page on the wiki: https://freecadweb.org/wiki/Template:DevWorkbenches
I love the Fasteners Workbench, unfortunately I'm using M3.5 ISO-7380 screws in my project.
As I can see, there is no way to create such screw. So I'm forced to choose M3 or M4 screws...
The M3.5 size is very common for enthusiast of car/train/plane models, as well as for flying drones.
So it would be nice to have it also for:
I want to export my assembly module, but there occures an error. After some checks, i think it depends on the connection of the screw and the hole.
When i insert the screw directly to a hole. After that, i move the screw with drag & drop to my assembly-group (part). Now, i want to export as step-file, but an error occurs.
When i insert the screw without connection and move with drag & drop to the part. I connected it with the a2+ workbench. Here there is no error while exporting as step-format.
Does anybody have a similar Problem, or can handle this problem?
Thank you!
Not sure if this a problem with FreeCAD, my file or the plugin but i get this error. Not sure what it means but i thhought this would be the appropriate place to start.
nurbs configuration file loaded Mod pluginloader InitGui.py starting ... pluginmanager config file /usr/lib/freecad//Mod/plugins/pluginloaderconfig.yaml During initialization the error local variable 'fn2' referenced before assignment occurred in /home/dorian/.FreeCAD/Mod/pluginloader/InitGui.py Please look into the log file for further informationnot a freecad file: .STP not a freecad file: .STL Traceback (most recent call last): File "/home/dorian/.FreeCAD/Mod/fasteners/CountersunkHoles.py", line 557, in claimChildren objs.append(self.Object.baseObject[0]) <type 'exceptions.TypeError'>: 'NoneType' object has no attribute '__getitem__' Traceback (most recent call last): File "/home/dorian/.FreeCAD/Mod/fasteners/CountersunkHoles.py", line 557, in claimChildren objs.append(self.Object.baseObject[0]) <type 'exceptions.TypeError'>: 'NoneType' object has no attribute '__getitem__' Traceback (most recent call last): File "/home/dorian/.FreeCAD/Mod/fasteners/CountersunkHoles.py", line 557, in claimChildren objs.append(self.Object.baseObject[0]) <type 'exceptions.TypeError'>: 'NoneType' object has no attribute '__getitem__' Traceback (most recent call last): File "/home/dorian/.FreeCAD/Mod/fasteners/CountersunkHoles.py", line 557, in claimChildren objs.append(self.Object.baseObject[0]) <type 'exceptions.TypeError'>: 'NoneType' object has no attribute '__getitem__'
OS: Debian GNU/Linux 9.4 (stretch)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13721 (Git)
Build type: Release
Branch: master
Hash: afdd30b137cdfd096c61c4aee270025115d0f8d6
Python version: 2.7.13
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Locale: English/UnitedStates (en_US)
Just pressing the button with no part associated. creates this error
Traceback (most recent call last):
File "/home/orion/.FreeCAD/Mod/Fasteners/FastenersCmd.py", line 119, in execute
s = screwMaker.createScrew(fp.type, d, l, threadType, True)
File "/home/orion/.FreeCAD/Mod/Fasteners/screw_maker.py", line 2203, in createScrew
screw = self.makeIso7046(ST_text, ND_text,l)
File "/home/orion/.FreeCAD/Mod/Fasteners/screw_maker.py", line 3452, in makeIso7046
recess, recessShell = self.makeCross_H3(cT, mH, ht)
File "/home/orion/.FreeCAD/Mod/Fasteners/screw_maker.py", line 5000, in makeCross_H3
crossFaces.append(crossShell.Faces[i])
<type 'exceptions.IndexError'>: list index out of range
Fasteners/nuts/washers in an array aren't counted in BOM.
Fasteners/nuts/washers in a cloned compound aren't counted in BOM.
The same if fasteners/nuts/washers are converted in a structure (Arch/BIM Workbech).
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16110 (Git)
Build type: Release
Branch: (HEAD detached at upstream/releases/FreeCAD-0-18)
Hash: f7dccfaa909e5b9da26bf50c4a22ccca9bb10c40
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Italian/Italy (it_IT)
Would it be possible to add generation for a 5/8 inch diameter with 27 threads per inch? This is for the US microphone stand thread.
I was looking at trying to do it myself but was hitting some issues with getting the code to build in my configuration.
I thought I'd seen a comment somewhere that this was something that was being looked at, but haven't been able to find it again.
Hi,
After clicking the ISO4032 nut or ISO4033 I'm getting a strange result. Screenshot attached.
Any idea what is going on?
EN1661 nut works as expected...
Cheers,
Mateusz
OS: Debian GNU/Linux unstable (sid)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.5334 (Git)
Build type: Release
Branch: master
Hash: 4f6a50ac271b74381a69f411983ba2758082573a
Python version: 2.7.10
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.9.0
Hi,
When starting Freecad (FreeCAD_0.18.15150_Conda_Py3Qt5_glibc2.12-x86_64.AppImage) I get the following error:
During initialization the error invalid character in identifier (<string>, line 1) occurred in /home/tarax/.FreeCAD/Mod/fasteners/InitGui.py
Today I was in the need of unified thread standard rods. I patched screwmaker to generate me the 5/16-24 thread:
master...reox:master
I do not know much about inch threads but it seems they are quite the same as the metric ones (except withworth of course...)
So maybe it is worth to integrate more inch threads - but I think it will get quite messy because of all the patching of methods that rely on the metric character...
(if you want to take this seriously, I think you would need to add a lot imperial screws and nuts as well...)
So maybe someone want to take a look at this - or hint me to a workbench that has threaded rods in all variants (I would like to have trapezoidal as well...)
Should the remaining items in Todo.md be added to Issues and then the file removed ?
This helps users to faster recognize what this Workbench does. Eventually this screencast can be useful when Addon Installer becomes more sophisticated (FreeCAD/FreeCAD-addons#37)
I created an issue in @ulrich1a screw_maker repository to publish the package on The Python Package Index (PyPI) so the Fasteners workbench can simply install it rather than maintain a copy-pasted file.
The FreeCAD Workbench Starter Kit has some discussion on how to do this, and some example projects using this pattern.
See Using pip and uploading your package to pypi sections in the README of the Workbench Starter Kit.
Any thoughts on this proposal?
I created an M30 x 20mm rod. Without threads, it is the proper length. However, when the threads are added, the bottom 2mm are missing. Continuing to test longer lengths, 21mm is correct but 22, 23 and 24mm all truncate at 21mm. 25, 26 and 27mm truncates at 24.5mm (approximate). 28mm is correct. That is the limit of my testing.
I did also try an M30 ISO 4762 Hex Socket Head Cap Screw and it did not exhibit any odd behavior, at least at those lengths.
Fasteners.zip
Hello,
Thank you guys for your work!
I have M6x70 ISO4762 screws in my workshop, but it's not available it workbench
is there some way to add it?
The same for M2.5x12 ISO7380
Thanks!
Hey I downloaded your module and extrcted it to ~/.Freecad/Mod. If I start Freecad it says Fasteners loaded and it's shown in the Menu. But if I try to select it the above Error appears. How can i fix this?
I am using FreeCad to design a few things for my hobby. I need some weird threads mostly M9x0.5
I thougth to add these threads myself , but I cannot figure out what which size does in the tables.
Hallo,
it seems like you can not generate an ISO 4762 screw if you want it to be 10mm in length.
This error appears in the report view:
Traceback (most recent call last):
File "C:\Users\thomas\AppData\Roaming\FreeCAD\Mod\fasteners\FastenersCmd.py", line 119, in execute
s = screwMaker.createFastener(fp.type, d, l, threadType, True)
File "C:\Users\thomas\AppData\Roaming\FreeCAD\Mod\fasteners\ScrewMaker.py", line 249, in createFastener
return self.createScrew(type, diam, len, threadType, shapeOnly)
File "C:\Users\thomas\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 2197, in createScrew
screw = self.makeIso4762(ST_text, ND_text,l)
File "C:\Users\thomas\AppData\Roaming\FreeCAD\Mod\fasteners\screw_maker.py", line 3741, in makeIso4762
headShell = aWire.revolve(Base.Vector(0.0,0.0,0.0),Base.Vector(0.0,0.0,1.0),360)
<class 'Part.OCCError'>: BRepAdaptor_Curve::No geometry
System:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)
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.