Hello. Many thanks for the Path module and all of the other goodies in FreeCAD.
It appears that holding-tags-dressup will not successfully place a holding tag on a curved portion of a part. On my complex poly-line part, holding tags are added to the rare flat spots. This sample cylinder gets no tags.
The error reported, in part, is:
"<type 'exceptions.IndexError'>: list index out of range
Traceback (most recent call last):
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 1392, in addSelection
self.panel.selectTagWithId(i)"
OS: Ubuntu 16.04.2 LTS
Word size of OS: 32-bit
Word size of FreeCAD: 32-bit
Version: 0.17.10646 (Git)
Build type: None
Branch: (detached from 732bd85)
Hash: 809758b7395f8e591a8a196459bf5a014a864aaf
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
no holding tags on round parts
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: no holding tags on round parts
Interestingly a cylinder has always been a test object for the holding tags - and I just tried it still seems to work (at least the way I tested it).
Could you share your file?
Could you share your file?
Re: no holding tags on round parts
Including my sample file.
http://weait.com/round-part-tags.fcstd
http://weait.com/round-part-tags.fcstd
Re: no holding tags on round parts
mhh - works for me. What are your settings for the tags?rweait wrote:Including my sample file.
http://weait.com/round-part-tags.fcstd
Also, could you update to the latest git repo and try again?
Re: no holding tags on round parts
Thank you, mlampert, your tip on tag settings is helpful.
The default tag settings caused an error in my case. By changing the tag length and width to smaller values, the contour path reappears and the tags appear on the gui.
I'm finding a further, and perhaps related, issue. Perhaps I'm just clarifying the same issue, as I haven't been able to generate gcode from this file when I include holding tags. I'll try to state all of my actions so that where I'm mis-assuming might be apparent.
First I try to create a cylinder.
start freecad-daily, open a new document, select part-design WB, create a body, start a sketch in XY.
Draw a circle, pad it.
Save the file with a file name.
Now I try to generate some gcode.
Switch to Path WB. Create a job, based on the body. Use the default centroid_post.py, I don't assign a filename.
Click on ToolManager, create a tool controller for an endmill.
Open that tool controller and set feeds and speed.
Click on contour button.
Everything looks okay (to me) so far.
Click PostProcess the selected job.
First problem found.
Change to linuxcnc_post.py for this job.
Click postprocess the selected job, generated gcode looks reasonable, and no warnings or errors are apparent. Yay!
Now I try to add holding tags. It starts with an error
Select the contour. Select Path>>PathDressup>>HoldingTags Dressup
- HoldingTagsDressup appears in document, with red error flag. Message window informs: list index out of range
I open the dressup and change the width and height each to 2mm. Error flag disappears. Tags and contour appear to render in gui.
Try to generate the gcode for these paths. It doesn't go well.
What? No tool controller? Okay, I check the contour to which I've added the holding tags. It still has the 1/8" end mill selected.
Now what? Try again?
I delete the DressupHoldingTags. The contour path looks okay, but the generated gcode now is nearly empty; just the preamble and postamble.
So
I'd love to know which critical steps I'm missing in creating my file. Thanks in advance for your patience with me.
If by chance, I'm finding some bugs? Yay! Let me know how I can help?
I've zipped my document file, and the gcode, here: http://weait.com/freecad-cylinder-holding-tags.zip
Best regards,
Version info
OS: Ubuntu 16.04.2 LTS
Word size of OS: 32-bit
Word size of FreeCAD: 32-bit
Version: 0.17.10707 (Git)
Build type: None
Branch: master
Hash: 04a3283000cfdf92b26c54fd4ae7a0fbd636a74b
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
The default tag settings caused an error in my case. By changing the tag length and width to smaller values, the contour path reappears and the tags appear on the gui.
I'm finding a further, and perhaps related, issue. Perhaps I'm just clarifying the same issue, as I haven't been able to generate gcode from this file when I include holding tags. I'll try to state all of my actions so that where I'm mis-assuming might be apparent.
First I try to create a cylinder.
start freecad-daily, open a new document, select part-design WB, create a body, start a sketch in XY.
Draw a circle, pad it.
Save the file with a file name.
Now I try to generate some gcode.
Switch to Path WB. Create a job, based on the body. Use the default centroid_post.py, I don't assign a filename.
Click on ToolManager, create a tool controller for an endmill.
Open that tool controller and set feeds and speed.
Click on contour button.
Everything looks okay (to me) so far.
Click PostProcess the selected job.
First problem found.
Code: Select all
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/centroid_post.py", line 93, in export
gcode+= UNITS+'\n'
local variable 'UNITS' referenced before assignment
Click postprocess the selected job, generated gcode looks reasonable, and no warnings or errors are apparent. Yay!
Now I try to add holding tags. It starts with an error
Select the contour. Select Path>>PathDressup>>HoldingTags Dressup
- HoldingTagsDressup appears in document, with red error flag. Message window informs: list index out of range
Code: Select all
PathPost.DEBUG: obj: Contour
PathPost(171).exportObjectsWith()
Traceback (most recent call last):
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 856, in execute
self.doExecute(obj)
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 888, in doExecute
self.processTags(obj)
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 903, in processTags
obj.Path = self.createPath(obj, self.pathData, self.tags)
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 781, in createPath
mapper.add(edge)
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 528, in add
self.commands.extend(self.commandsForEdges())
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 490, in commandsForEdges
for e,flip in self.orderAndFlipEdges(self.cleanupEdges(shape.Edges)):
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathDressupHoldingTags.py", line 375, in cleanupEdges
self.realEntry = sorted(self.edgePoints, key=lambda p: (p - self.entry).Length)[0]
<type 'exceptions.IndexError'>: list index out of range
Try to generate the gcode for these paths. It doesn't go well.
Code: Select all
PathPost(194).Activated()
PathPost.DEBUG: Possible post objects: [u'Job']
PathPost.DEBUG: about to postprocess job: Job
PathPost.DEBUG: obj: Default_Tool
PathPost.DEBUG: obj: T45__eighth_carbide
PathPost.DEBUG: obj: HoldingTagsDressup
Running the Python command 'Path_Post' failed:
Traceback (most recent call last):
File "/usr/lib/freecad-daily/Mod/Path/PathScripts/PathPost.py", line 248, in Activated
if obj.ToolController.ToolNumber != currTool:
'FeaturePython' object has no attribute 'ToolController'
What? No tool controller? Okay, I check the contour to which I've added the holding tags. It still has the 1/8" end mill selected.
Now what? Try again?
I delete the DressupHoldingTags. The contour path looks okay, but the generated gcode now is nearly empty; just the preamble and postamble.
So
I'd love to know which critical steps I'm missing in creating my file. Thanks in advance for your patience with me.
If by chance, I'm finding some bugs? Yay! Let me know how I can help?
I've zipped my document file, and the gcode, here: http://weait.com/freecad-cylinder-holding-tags.zip
Best regards,
Version info
OS: Ubuntu 16.04.2 LTS
Word size of OS: 32-bit
Word size of FreeCAD: 32-bit
Version: 0.17.10707 (Git)
Build type: None
Branch: master
Hash: 04a3283000cfdf92b26c54fd4ae7a0fbd636a74b
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Re: no holding tags on round parts
I dont think you are missing any critical steps RWEAIT!
Went through step by step to encounter all the same problems. Something is not right! I see things not updating properly.
I noticed that once dressup tags are applied, the STEP DOWN is locked out. You can change it in properties panel, but it will not be applied/updated to the object until you remove the dressup.
At least thats what I thought I was seeing. It was very late at night at the time!
Went through step by step to encounter all the same problems. Something is not right! I see things not updating properly.
I noticed that once dressup tags are applied, the STEP DOWN is locked out. You can change it in properties panel, but it will not be applied/updated to the object until you remove the dressup.
At least thats what I thought I was seeing. It was very late at night at the time!
Re: no holding tags on round parts
This problem appears to now be resolved. I have removed freecad and freecad-daily, then reinstalled freecad-daily, only.