Git Product home page Git Product logo

freecad_fastenerswb's People

Contributors

alexneufeld avatar algtgv avatar apexarray avatar berberic2 avatar cfunseth avatar chennes avatar chrido avatar ea32 avatar easyw avatar elf128 avatar elysium31 avatar f3nix avatar fra589 avatar freecad-tools avatar hasecilu avatar hpbmo avatar johanar avatar kaktusus avatar luzpaz avatar riqueenz avatar roy-043 avatar shaise avatar spike77453 avatar tobiasfalk avatar wandrewkeech avatar wavexx avatar yorikvanhavre 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

freecad_fastenerswb's Issues

Threaded solids of revolution as first-class citizens

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.

Attach Screw to Hole Programmatically in Python

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

Screenshot

image

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?

FreeCAD Version Information

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)

can not start the Fasteners WB

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:

image

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

Installing Latest Fasteners on Appimage errors

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  

Nyloc nuts

Nylon-insert nuts are missing. They are sized differently so standard nuts can't be used as a replacement.

WB is fail to start when used with FreeCad 0.18.1

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.

[Enhancement] Bolt-nut holes

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?

Fix up the Fasteners FC wiki page

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

Attaching fastener to a Body

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)

Error: unknown dialect

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.

some screws cannot be created in FC latest (11300)

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

Document createFastener Python API

It'd be helpful to document the valid types, diameters, and lengths that can be passed into createFastener.

Auto-Generating Documentation

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.

Documentation Idea Example

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.

ISO4017

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

ISO4014

Name Type Diameters Lengths
Screw ISO4014 TODO TODO

EN1662

Name Type Diameters Lengths
Screw EN1662 TODO TODO

EN1665

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

DIN 6912

Please include the screws DIN-6912.

ISO 14584 Screw

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.

screenshot from 2018-09-21 10-13-13

screenshot from 2018-09-21 10-25-39

Enhancement; nut and bolts to fit when 3D printed and user adjustments

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

  • Nuts and bolts should work together virtual or printed by default.
  • Nice to have would be allow some tuning by the user for thread pitch, thread clearance (size the threads up or down a little bit and head size. (hex nut)
  • If you wanted to get fancy; add different head types like, philips, torx, star, etc.

ISO10642 & ISO14584 wrong direction socket pocket

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13780 (Git)
Build type: Release
Branch: master
Hash: 9fb122008b99ea2d30ed3e6f7cc93a3b7717cce5
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)

iso10642 iso14584

readme mistake: "Data" tab should be "View"

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

PCB Metric Standoff

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.

image

Does not coexist with the fork

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)

Error creating thread in nut

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.

[Feature request] Metric size M3.5 for screws and nuts?

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:

  • ISO-7380 bolts with flange
  • Nuts with and without the nylon locking ring

Error Step Export with use of Fasteners Workbench

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!

Error in CountersunkHoles

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

ISO7046 Screw Fails to generate the screw

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 arrays aren't counted in BOM

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)

[Feature request] 5/8 inch 27 threads per inch

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.

Problems with nut generation

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

iso4032

No Fasteners Workbench show in Workbench

I use version 0.18 in Windows 10, after install it from Addon Manager, no Fastener show in Workbench.

The programs are stored in "C:\Users{User Name}\AppData\Roaming\FreeCAD\Mod\fasteners" already.

image

Thanks!

Invalid character initialization error

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

UNF/UNC threaded rod

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

Install ulrich1a screw_maker Macro as Python Package

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?

Problem with M30 DIN 975 threaded rod

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

invalid literal for int() with base 10:unknown

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?

Add comments to the size tables

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.

Fales to generate screw ISO4762 M4x10

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)

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.