CAM Surface/ro: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{VeryImportantMessage|This is an unfinished experimental feature. [[Path_experimental|Enable Experimental Features]]}}
{{VeryImportantMessage|This is an unfinished experimental feature. [[CAM_experimental|Enable Experimental Features]]}}


{{UnfinishedDocu}}
{{UnfinishedDocu{{#translation:}}}}


{{Docnav
{{Docnav
|[[Path_Pocket_3D|Pocket 3D]]
|[[CAM_Pocket_3D|Pocket 3D]]
|[[Path_Waterline|Waterline]]
|[[CAM_Waterline|Waterline]]
|[[Path_Workbench|Path]]
|[[CAM_Workbench|CAM]]
|IconL=Path_Pocket_3D.svg
|IconL=CAM_Pocket_3D.svg
|IconR=Path_Waterline.svg
|IconR=CAM_Waterline.svg
|IconC=Workbench_Path.svg
|IconC=Workbench_CAM.svg
}}
}}


Line 18: Line 18:
</div>
</div>


<span id="Description"></span>
==Descriere==
==Descriere==


Line 24: Line 25:
</div>
</div>


The {{KEY|[[Image:Path_Surface.svg|24px]] [[Path_Surface|3D Surface]]}} operation is also capable of generating basic rotational 3D surfacing paths. The rotational capabilities are limited to the entire model, and do not allow for specific faces or regions to be isolated. The rotational paths are also limited to line cut patterns.
The [[Image:CAM_Surface.svg|24px]] [[CAM_Surface|3D Surface]] operation is also capable of generating basic rotational 3D surfacing paths. The rotational capabilities are limited to the entire model, and do not allow for specific faces or regions to be isolated. The rotational paths are also limited to line cut patterns.


The 3D Surface Tool interfaces to OCL.pyd, a 3rd party Open Source module titled OpenCamLib, that generates tool paths from a 3D Model. OpenCamLib is not integrated directly into FreeCAD to ensure their license is not violated. It requires that [[Path_experimental|Experimental Features]] are enabled.
The 3D Surface Tool interfaces to OCL.pyd, a 3rd party Open Source module titled OpenCamLib, that generates tool paths from a 3D Model. OpenCamLib is not integrated directly into FreeCAD to ensure their license is not violated. It requires that [[Path_experimental|Experimental Features]] are enabled.
Line 30: Line 31:
'''Note:''' In order to use the 3D Surface operation you must:
'''Note:''' In order to use the 3D Surface operation you must:
# Properly install [[OpenCamLib|OpenCamLib]].
# Properly install [[OpenCamLib|OpenCamLib]].
# Enable [[Path_experimental|Experimental Features]] for the Path Workbench.
# Enable [[CAM_experimental|Experimental Features]] for the CAM Workbench.
# Check {{MenuCommand|Edit → Preferences... → Path → Advanced → Enable OCL dependent features}}.
# Check {{MenuCommand|Edit → Preferences... → CAM → Advanced → Enable OCL dependent features}}.


==Usage==
==Usage==


Usage instructions for multiple variations of the [[Path_Surface|3D Surface]] operation are presented here.
Usage instructions for multiple variations of the [[CAM_Surface|3D Surface]] operation are presented here.


====Basic Operation====
====Basic Operation====
Line 53: Line 54:
# Initiate a [[#Basic_Operation|Basic Operation]] as described above and set the '''Scan Type''' to '''Rotational'''.
# Initiate a [[#Basic_Operation|Basic Operation]] as described above and set the '''Scan Type''' to '''Rotational'''.
# '''Note:''' Face selection is unavailable for Rotational scans, so changes to Base Geometry are ignored.
# '''Note:''' Face selection is unavailable for Rotational scans, so changes to Base Geometry are ignored.
# Locate the Data tab and Properties View for the new [[Path_Surface|3D Surface]] operation. A '''Rotation''' section should be available with additional properties to adjust, listed below.<BR>It is recommended that you set the desired rotation properties all at once before recomputing. This is done by clicking the ENTER key immediately after changing a property setting. This process will allow you to change and save multiple properties before recomputing the operation.
# Locate the Data tab and Properties View for the new [[CAM_Surface|3D Surface]] operation. A '''Rotation''' section should be available with additional properties to adjust, listed below.<BR>It is recommended that you set the desired rotation properties all at once before recomputing. This is done by clicking the ENTER key immediately after changing a property setting. This process will allow you to change and save multiple properties before recomputing the operation.
# Adjust the following settings as needed:
# Adjust the following settings as needed:
#* Set {{PropertyData|Cutter Tilt}} to the offset index(angle) [0-90]. (Used for ball mill cutters)
#* Set {{PropertyData|Cutter Tilt}} to the offset index(angle) [0-90]. (Used for ball mill cutters)
Line 61: Line 62:
#* Adjust {{PropertyData|Start Index}} to start index(angle) [0-360].
#* Adjust {{PropertyData|Start Index}} to start index(angle) [0-360].
#* Adjust {{PropertyData|Stop Index}} to stop index(angle) [0-360].
#* Adjust {{PropertyData|Stop Index}} to stop index(angle) [0-360].
# Click the {{KEY|[[File:View-refresh.svg|16px]] Recompute}} icon in the tool bar.
# Click the {{KEY|[[File:View-refresh.svg|16px]] [[Std_Refresh|Refresh]]}} icon in the tool bar.
# Wait for the results...
# Wait for the results...


Line 68: Line 69:
* '''Rotational''' scans require much more time and processing than '''Planar''' scans. Factors affecting processing time include: Sample Interval, Step Over, tool diameter, and model size. Again, rotational scans can take a long time. Some might take 3, 5 or 10 minutes or longer.
* '''Rotational''' scans require much more time and processing than '''Planar''' scans. Factors affecting processing time include: Sample Interval, Step Over, tool diameter, and model size. Again, rotational scans can take a long time. Some might take 3, 5 or 10 minutes or longer.
* For time purposes, it is better that you not recompute a rotational scan after every property change; rather, consider one of the following:
* For time purposes, it is better that you not recompute a rotational scan after every property change; rather, consider one of the following:
** use the ' ''change all settings with ENTER key'' ' technique mentioned in Step 2 above, then {{KEY|[[File:View-refresh.svg|16px]] Recompute}} the operation.
** use the ' ''change all settings with ENTER key'' ' technique mentioned in Step 2 above, then {{KEY|[[File:View-refresh.svg|16px]] [[Std_Refresh|Refresh]]}} the operation.
** deactivate the operation with the {{KEY|[[Image:Path_OpActiveToggle.svg|16px]] [[Path_OpActiveToggle|Active]]}} toggle tool, make your changes to the operation's properties, then click the {{KEY|[[Image:Path_OpActiveToggle.svg|16px]] [[Path_OpActiveToggle|Active]]}} icon again to re-activate the operation - which triggers a recompute internally.
** deactivate the operation with the {{KEY|[[Image:CAM_OpActiveToggle.svg|16px]] [[CAM_OpActiveToggle|Active]]}} toggle tool, make your changes to the operation's properties, then click the {{KEY|[[Image:CAM_OpActiveToggle.svg|16px]] [[CAM_OpActiveToggle|Active]]}} icon again to re-activate the operation - which triggers a recompute internally.
* The {{KEY|[[Image:Path_Surface.svg|16px]] [[Path_Surface|3D Surface]]}} operation is still considered an ''experimental feature'' as of 2019-06-25. As such, it may contain a few bugs yet to be clearly identified. Please report bugs and issues in the [https://forum.freecadweb.org/viewforum.php?f=15 FreeCAD Path/CAM Forum].
* The {{KEY|[[Image:CAM_Surface.svg|16px]] [[CAM_Surface|3D Surface]]}} operation is still considered an ''experimental feature'' as of 2019-06-25. As such, it may contain a few bugs yet to be clearly identified. Please report bugs and issues in the [https://forum.freecadweb.org/viewforum.php?f=15 FreeCAD Path/CAM Forum].
* The built in {{KEY|[[Image:Path_Simulator.svg|16px]] [[Path_Simulator|CAM Simulator]]}} does NOT support 4th-axis simulation. You will need to use a third party simulator to inspect or verify paths visually. See the [[#Resources|Resources]] section below for suggestions.
* The built in {{KEY|[[Image:CAM_Simulator.svg|16px]] [[CAM_Simulator|CAM Simulator]]}} does NOT support 4th-axis simulation. You will need to use a third party simulator to inspect or verify paths visually. See the [[#Resources|Resources]] section below for suggestions.
* You will likely see red rotational lines around your model in the viewport. This is normal in FreeCAD for the time being.
* You will likely see red rotational lines around your model in the viewport. This is normal in FreeCAD for the time being.


=====Notes About Scans of complex models=====
=====Notes About Scans of complex models=====
Line 81: Line 82:
Check how much memory is available while the scan is running using a tool such as the Windows '''Task Manager, Memory tab'''. If more than 90% of memory is consistently being used then a small '''Linear Deflection''' parameter could be generating a mesh that is too large for the available memory.<br>
Check how much memory is available while the scan is running using a tool such as the Windows '''Task Manager, Memory tab'''. If more than 90% of memory is consistently being used then a small '''Linear Deflection''' parameter could be generating a mesh that is too large for the available memory.<br>
To confirm this ...
To confirm this ...
# Create a new {{KEY|[[Image:Path_Surface.svg|24px]] [[Path_Surface|3D Surface]]}} operation.
# Create a new {{KEY|[[Image:CAM_Surface.svg|24px]] [[CAM_Surface|3D Surface]]}} operation.
# Switch to the Model tab and increase the {{PropertyData|Linear Deflection}} value. For example change from 2.5um to 20um
# Switch to the Model tab and increase the {{PropertyData|Linear Deflection}} value. For example change from 2.5um to 20um
# Switch back to the Tasks tab to complete setting up the operation.
# Switch back to the Tasks tab to complete setting up the operation.
# Click {{Button|OK}} button to confirm and generate paths.<br>
# Click {{Button|OK}} button to confirm and generate paths.<br>


To make this value the default for all new {{KEY|[[Image:Path_Surface.svg|24px]] [[Path_Surface|3D Surface]]}} operations, change the '''GeometryTolerance''' parameter.<br>
To make this value the default for all new {{KEY|[[Image:CAM_Surface.svg|24px]] [[CAM_Surface|3D Surface]]}} operations, change the '''GeometryTolerance''' parameter.<br>
{{MenuCommand|Tools → Edit Parameters ... → Preferences → Mod → Path → GeometryTolerance }}. <br>
{{MenuCommand|Tools → Edit Parameters ... → Preferences → Mod → CAM → GeometryTolerance }}. <br>
Note as of version 0.19 the {{PropertyData|Linear Deflection}} default = GeometryTolerance / 4
Note as of version 0.19 the {{PropertyData|Linear Deflection}} default = GeometryTolerance / 4


'''''Invalid Geometry'''''<br>
'''''Invalid Geometry'''''<br>
If a model contains invalid geometry the scanning time can increase significantly. A model can be checked using the '''Check Geometry''' function in [[Image:Workbench_Part.svg|24px]]'''Part Workbench'''. <br>
If a model contains invalid geometry the scanning time can increase significantly. A model can be checked using the [[Part_CheckGeometry|Part CheckGeometry]] function in [[Image:Workbench_Part.svg|24px]]'''Part Workbench'''. <br>
To run the tool:
To run the tool:
# Switch to the [[Image:Workbench_Part.svg|24px]]'''Part Workbench''' and select the model to check
# Switch to the [[Image:Workbench_Part.svg|24px]]'''Part Workbench''' and select the model to check
Line 112: Line 113:
* Engraver
* Engraver


Should you choose to run the path simulator in the Path Workbench, it only uses the standard end mill to simulate paths. Therefore, you will not see tool-shape-specific material removal. Material removal is shown using the end mill shape.
Should you choose to run the path simulator in the CAM Workbench, it only uses the standard end mill to simulate paths. Therefore, you will not see tool-shape-specific material removal. Material removal is shown using the end mill shape.


NOTE: As of May 2019, only the End Mill has any type of testing to determine accuracy of the FreeCAD-to-OCL tool settings translation. Please post any feedback for non-end-mill usage to the [https://forum.freecadweb.org/viewforum.php?f=15 Path/CAM] section in the FreeCAD forums.
NOTE: As of May 2019, only the End Mill has any type of testing to determine accuracy of the FreeCAD-to-OCL tool settings translation. Please post any feedback for non-end-mill usage to the [https://forum.freecadweb.org/viewforum.php?f=15 Path/CAM] section in the FreeCAD forums.
Line 120: Line 121:
''' ''Note'' ''': Not all of these Properties are available in the Task Window Editor. Some are only accessible in the Data tab of the Properties View panel for this Operation.
''' ''Note'' ''': Not all of these Properties are available in the Task Window Editor. Some are only accessible in the Data tab of the Properties View panel for this Operation.


{{TitleProperty|Base}}
====Base====


Note: It is suggested that you do not edit the Placement property of path operations. Rather, move or rotate the Path Job model as needed.
Note: It is suggested that you do not edit the Placement property of path operations. Rather, move or rotate the CAM Job model as needed.


* {{PropertyData|Placement}}: Overall placement[position and rotation] of the object - with respect to the origin (or origin of parent object container)
* {{PropertyData|Placement}}: Overall placement [position and rotation] of the object - with respect to the origin (or origin of parent object container)
** {{PropertyData|Angle}}: Angle in degrees applied to rotation of the object around Axis property value
** {{PropertyData|Angle}}: Angle in degrees applied to rotation of the object around Axis property value
** {{PropertyData|Axis}}: Axis(one or multiple) around which to rotate the object, set in sub-properties: x, y, z
** {{PropertyData|Axis}}: Axis (one or multiple) around which to rotate the object, set in sub-properties: X, Y, Z
*** {{PropertyData|X}}: x axis value
*** {{PropertyData|X}}: X axis value
*** {{PropertyData|Y}}: y axis value
*** {{PropertyData|Y}}: Y axis value
*** {{PropertyData|Z}}: z axis value
*** {{PropertyData|Z}}: Z axis value
** {{PropertyData|Position}}: Position of the object, set in sub-properties: x, y, z - with respect to the origin (or origin of parent object container)
** {{PropertyData|Position}}: Position of the object, set in sub-properties: X, Y, Z - with respect to the origin (or origin of parent object container)
*** {{PropertyData|X}}: x distance value
*** {{PropertyData|X}}: X distance value
*** {{PropertyData|Y}}: y distance value
*** {{PropertyData|Y}}: Y distance value
*** {{PropertyData|Z}}: z distance value
*** {{PropertyData|Z}}: Z distance value
* {{PropertyData|Label}}: User-provided name of the object (UTF-8)
* {{PropertyData|Label}}: User-provided name of the object (UTF-8)


====Clearing Options====
{{TitleProperty|Clearing Options}}


* {{PropertyData|Bound Box}}: Should the operation be limited by the stock object or by the bounding box of the base object
* {{PropertyData|Bound Box}}: Should the operation be limited by the stock object or by the bounding box of the base object
Line 146: Line 147:
* {{PropertyData|Pattern Center At}}: Choose location of the center point for starting the cut pattern
* {{PropertyData|Pattern Center At}}: Choose location of the center point for starting the cut pattern
* {{PropertyData|Pattern Center Custom}}: Set the start point for the cut pattern
* {{PropertyData|Pattern Center Custom}}: Set the start point for the cut pattern
* {{PropertyData|Profile Edges}}: Profile the edges of the selection
* {{PropertyData|Profile Edges}}: Profile the edges of the selection. There are the following options (images can be seen in this forum post: https://forum.freecad.org/viewtopic.php?p=676452#p676452):
** {{PropertyData|None}}: Don't create a profile
** {{PropertyData|Only}}: Create only a profile and no inner paths
** {{PropertyData|First}}: Start with the profile and then do the rest
** {{PropertyData|Last}}: Start with the rest and then do the profile
* {{PropertyData|Sample Interval}}: The Sample Interval. Small values cause long wait times
* {{PropertyData|Sample Interval}}: The Sample Interval. Small values cause long wait times
* {{PropertyData|Step Over}}: Step over percentage of the drop cutter path
* {{PropertyData|Step Over}}: Step over percentage of the drop cutter path


{{TitleProperty|Depth}}
====Depth====


* {{PropertyData|Clearance Height}}: The height needed to clear clamps and obstructions
* {{PropertyData|Clearance Height}}: The height needed to clear clamps and obstructions
Line 158: Line 163:
* {{PropertyData|Step Down}}: Incremental Step Down of Tool
* {{PropertyData|Step Down}}: Incremental Step Down of Tool


====Mesh Conversion====
{{TitleProperty|Mesh Conversion}}


* {{PropertyData|Angular Deflection}}: Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot
* {{PropertyData|Angular Deflection}}: Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot
* {{PropertyData|Linear Deflection}}: Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much but can increase memory comsumption
* {{PropertyData|Linear Deflection}}: Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much but can increase memory comsumption


====Optimization====
{{TitleProperty|Optimization}}


* {{PropertyData|Circular Use G2 G3}}: Convert co-planar arcs to G2/G3 gcode commands for `Circular` and `CircularZigZag` cut patterns
* {{PropertyData|Circular Use G2 G3}}: Convert co-planar arcs to G2/G3 gcode commands for `Circular` and `CircularZigZag` cut patterns
Line 171: Line 176:
* {{PropertyData|Optimize Step Over Transitions}}: Enable separate optimization of transitions between, and breaks within, each step over path
* {{PropertyData|Optimize Step Over Transitions}}: Enable separate optimization of transitions between, and breaks within, each step over path


{{TitleProperty|Path}}
====Path====


* {{PropertyData|Active}}: make False, to prevent operation from generating code
* {{PropertyData|Active}}: Make False, to prevent operation from generating code
* {{PropertyData|Base}}: The base geometry for this operation
* {{PropertyData|Base}}: The base geometry for this operation
* {{PropertyData|Comment}}: An optional comment for this Operation
* {{PropertyData|Comment}}: An optional comment for this Operation
Line 181: Line 186:
* {{PropertyData|User Label}}: User assigned label
* {{PropertyData|User Label}}: User assigned label


====Rotation====
{{TitleProperty|Rotation}}


* {{PropertyData|Cutter Tilt}}: Set the cutter (spindle) tilt angle.
* {{PropertyData|Cutter Tilt}}: Set the cutter (spindle) tilt angle.
* {{PropertyData|Drop Cutter Dir}}: The direction along which dropcutter lines are created
* {{PropertyData|Drop Cutter Dir}}: The direction along which dropcutter lines are created
* {{PropertyData|Drop Cutter Extra Offset}}: Additional offset to the selected bounding box - use sub-properties to set values
* {{PropertyData|Drop Cutter Extra Offset}}: Additional offset to the selected bounding box - use sub-properties to set values
** {{PropertyData|X}}: x distance value
** {{PropertyData|X}}: X distance value
** {{PropertyData|Y}}: y distance value
** {{PropertyData|Y}}: Y distance value
** {{PropertyData|Z}}: z distance value
** {{PropertyData|Z}}: Z distance value
* {{PropertyData|Rotation Axis}}: Set the axis for model rotation.
* {{PropertyData|Rotation Axis}}: Set the axis for model rotation.
* {{PropertyData|Start Index}}: Start index(angle) for rotation
* {{PropertyData|Start Index}}: Start index(angle) for rotation
* {{PropertyData|Stop Index}}: Stop index(angle) for rotation
* {{PropertyData|Stop Index}}: Stop index(angle) for rotation


====Selected Geometry Settings====
{{TitleProperty|Selected Geometry Settings}}


* {{PropertyData|Avoid Last X Faces}}: Avoid cutting the last 'N' faces in the Base Geometry list of selected faces
* {{PropertyData|Avoid Last X Faces}}: Avoid cutting the last 'N' faces in the Base Geometry list of selected faces
Line 203: Line 208:
* {{PropertyData|Internal Features Cut}}: Cut internal feature areas within a larger selected face
* {{PropertyData|Internal Features Cut}}: Cut internal feature areas within a larger selected face


====Start Point====
{{TitleProperty|Start Point}}


* {{PropertyData|Start Point}}: The custom start point for the path of this operation, set in sub-properties: x, y, z
* {{PropertyData|Start Point}}: The custom start point for the path of this operation, set in sub-properties: X, Y, Z
** {{PropertyData|X}}: x axis value
** {{PropertyData|X}}: X axis value
** {{PropertyData|Y}}: y axis value
** {{PropertyData|Y}}: Y axis value
** {{PropertyData|Z}}: z axis value
** {{PropertyData|Z}}: Z axis value
* {{PropertyData|Use Start Point}}: Make True, if specifying a Start Point
* {{PropertyData|Use Start Point}}: Make True, if specifying a Start Point


====Surface====
{{TitleProperty|Surface}}


* {{PropertyData|Scan Type}}: Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan.
* {{PropertyData|Scan Type}}: Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan.


{{TitleProperty|Waste}}
====Waste====


* {{PropertyData|Ignore Waste}}: Ignore areas that proceed below specified depth.
* {{PropertyData|Ignore Waste}}: Ignore areas that proceed below specified depth.
Line 224: Line 229:


''Descriptions for the settings are provided in the Properties list above.''
''Descriptions for the settings are provided in the Properties list above.''

This section is simply a layout map of the settings in the window editor for the Operation.
This section is simply a layout map of the settings in the window editor for the Operation.


====Base Location====
===Base Location===


* '''Base Geometry import selection''': Use this list to select Base Geometry to be imported from the selected, existing operation
* '''Base Geometry import selection''': Use this list to select Base Geometry to be imported from the selected, existing operation
* '''Import''': imports the selected operation's Base Geometry into the current operations Base Geometry list
* '''Import''': Imports the selected operation's Base Geometry into the current operations Base Geometry list
* '''Base Geometry list for current operation''': List of Base Geometry for current operation, if any selected
* '''Base Geometry list for current operation''': List of Base Geometry for current operation, if any selected
* '''Add''': adds selected element(s) which should be the base(s) for the path(s)
* '''Add''': Adds selected element(s) which should be the base(s) for the path(s)
* '''Remove''': remove the selected item(s) in the Base Location list
* '''Remove''': Remove the selected item(s) in the Base Location list
* '''Edit''': clear all items in the Base Location list
* '''Edit''': Clear all items in the Base Location list


====Depth====
===Depth===


* {{PropertyData|Start Depth}}
* {{PropertyData|Start Depth}}
Line 241: Line 247:
* {{PropertyData|Step Down}}
* {{PropertyData|Step Down}}


====Height====
===Height===


* {{PropertyData|Safe Height}}
* {{PropertyData|Safe Height}}
* {{PropertyData|Clearance Height}}
* {{PropertyData|Clearance Height}}


====Operation====
===Operation===


* {{PropertyData|Tool Controller}}
* {{PropertyData|Tool Controller}}
Line 273: Line 279:


{{Docnav
{{Docnav
|[[Path_Pocket_3D|Pocket 3D]]
|[[CAM_Pocket_3D|Pocket 3D]]
|[[Path_Waterline|Waterline]]
|[[CAM_Waterline|Waterline]]
|[[Path_Workbench|Path]]
|[[CAM_Workbench|CAM]]
|IconL=Path_Pocket_3D.svg
|IconL=CAM_Pocket_3D.svg
|IconR=Path_Waterline.svg
|IconR=CAM_Waterline.svg
|IconC=Workbench_Path.svg
|IconC=Workbench_CAM.svg
}}
}}


{{Path Tools navi{{#translation:}}}}
{{CAM_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 14:31, 26 March 2024

This is an unfinished experimental feature. Enable Experimental Features

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Path 3DSurface

Menu location
Path → 3D Surface
Workbenches
Path
Default shortcut
None
Introduced in version
-
See also
None

Descriere

Acest instrument creează o nouă operație 3D de suprafață. O operație 3D Surface utilizează întreaga suprafață superioară a modelului 3D pentru a genera codul G pentru lucrare.

The 3D Surface operation is also capable of generating basic rotational 3D surfacing paths. The rotational capabilities are limited to the entire model, and do not allow for specific faces or regions to be isolated. The rotational paths are also limited to line cut patterns.

The 3D Surface Tool interfaces to OCL.pyd, a 3rd party Open Source module titled OpenCamLib, that generates tool paths from a 3D Model. OpenCamLib is not integrated directly into FreeCAD to ensure their license is not violated. It requires that Experimental Features are enabled.

Note: In order to use the 3D Surface operation you must:

  1. Properly install OpenCamLib.
  2. Enable Experimental Features for the CAM Workbench.
  3. Check Edit → Preferences... → CAM → Advanced → Enable OCL dependent features.

Usage

Usage instructions for multiple variations of the 3D Surface operation are presented here.

Basic Operation

  1. Apăsați butonul 3D Surface button.
  2. Select the tool controller for the Operation from the Tool controller dialogue pop up window.
  3. Set the Finish Depth.
  4. Select between Dropcutter and Waterline for the Tool algorithm.
  5. Apicați, apoi apăsați OK pentru confirmare.

To achieve different, or more complex, effects, adjust additional operation properties within the Data tab of the Properties View for the operation.

Rotational Scans (4th-axis)

  1. Initiate a Basic Operation as described above and set the Scan Type to Rotational.
  2. Note: Face selection is unavailable for Rotational scans, so changes to Base Geometry are ignored.
  3. Locate the Data tab and Properties View for the new 3D Surface operation. A Rotation section should be available with additional properties to adjust, listed below.
    It is recommended that you set the desired rotation properties all at once before recomputing. This is done by clicking the ENTER key immediately after changing a property setting. This process will allow you to change and save multiple properties before recomputing the operation.
  4. Adjust the following settings as needed:
    • Set DateCutter Tilt to the offset index(angle) [0-90]. (Used for ball mill cutters)
    • Change DateDrop Cutter Dir to the axis of travel for the cutter(spindle).
    • Change DateDrop Cutter Extra Offset to extend the BoundBox in the X and Y directions.
    • Set DateRotation Axis to the desired axis.
    • Adjust DateStart Index to start index(angle) [0-360].
    • Adjust DateStop Index to stop index(angle) [0-360].
  5. Click the Refresh icon in the tool bar.
  6. Wait for the results...
Notes About Rotational Scans
  • Rotational scans require much more time and processing than Planar scans. Factors affecting processing time include: Sample Interval, Step Over, tool diameter, and model size. Again, rotational scans can take a long time. Some might take 3, 5 or 10 minutes or longer.
  • For time purposes, it is better that you not recompute a rotational scan after every property change; rather, consider one of the following:
    • use the ' change all settings with ENTER key ' technique mentioned in Step 2 above, then Refresh the operation.
    • deactivate the operation with the Active toggle tool, make your changes to the operation's properties, then click the Active icon again to re-activate the operation - which triggers a recompute internally.
  • The 3D Surface operation is still considered an experimental feature as of 2019-06-25. As such, it may contain a few bugs yet to be clearly identified. Please report bugs and issues in the FreeCAD Path/CAM Forum.
  • The built in CAM Simulator does NOT support 4th-axis simulation. You will need to use a third party simulator to inspect or verify paths visually. See the Resources section below for suggestions.
  • You will likely see red rotational lines around your model in the viewport. This is normal in FreeCAD for the time being.
Notes About Scans of complex models

Excessively long processing times (longer than 10 minutes) can occur when processing large complex models. In addition to the factors already mentioned the following steps could help identify potential causes and solutions.

Low Memory
Check how much memory is available while the scan is running using a tool such as the Windows Task Manager, Memory tab. If more than 90% of memory is consistently being used then a small Linear Deflection parameter could be generating a mesh that is too large for the available memory.
To confirm this ...

  1. Create a new 3D Surface operation.
  2. Switch to the Model tab and increase the DateLinear Deflection value. For example change from 2.5um to 20um
  3. Switch back to the Tasks tab to complete setting up the operation.
  4. Click OK button to confirm and generate paths.

To make this value the default for all new 3D Surface operations, change the GeometryTolerance parameter.
Tools → Edit Parameters ... → Preferences → Mod → CAM → GeometryTolerance .
Note as of version 0.19 the DateLinear Deflection default = GeometryTolerance / 4

Invalid Geometry
If a model contains invalid geometry the scanning time can increase significantly. A model can be checked using the Part CheckGeometry function in Part Workbench.
To run the tool:

  1. Switch to the Part Workbench and select the model to check
  2. Click on the Part CheckGeometry button available in the Part workbench toolbar OR use the Part → Check geometry entry from the top menu.
  3. Click the Run Check button and review the results.

If the results includes items like BOPAlgo SelfIntersect then the geometry is invalid and should be corrected by adjusting the model.
(Hint: Boolean operations and Loft commands can sometimes introduce Self Intersections)

Available Tool (Cutter) Shapes

This 3D Surface op currently uses OpenCamLib to extract paths from the part base. As such, a tool setting translation is required between the FreeCAD tool controller and OCL in order to complete the scan with your chosen tool(cutter) shape.

These tool shapes are respected and available for this 3D Surface operation:

  • End mill
  • Ball end mill
  • Bull nose end mill
  • Chamfer bit
  • Engraver

Should you choose to run the path simulator in the CAM Workbench, it only uses the standard end mill to simulate paths. Therefore, you will not see tool-shape-specific material removal. Material removal is shown using the end mill shape.

NOTE: As of May 2019, only the End Mill has any type of testing to determine accuracy of the FreeCAD-to-OCL tool settings translation. Please post any feedback for non-end-mill usage to the Path/CAM section in the FreeCAD forums.

Properties: Version 0.19

Note : Not all of these Properties are available in the Task Window Editor. Some are only accessible in the Data tab of the Properties View panel for this Operation.

Base

Note: It is suggested that you do not edit the Placement property of path operations. Rather, move or rotate the CAM Job model as needed.

  • DatePlacement: Overall placement [position and rotation] of the object - with respect to the origin (or origin of parent object container)
    • DateAngle: Angle in degrees applied to rotation of the object around Axis property value
    • DateAxis: Axis (one or multiple) around which to rotate the object, set in sub-properties: X, Y, Z
      • DateX: X axis value
      • DateY: Y axis value
      • DateZ: Z axis value
    • DatePosition: Position of the object, set in sub-properties: X, Y, Z - with respect to the origin (or origin of parent object container)
      • DateX: X distance value
      • DateY: Y distance value
      • DateZ: Z distance value
  • DateLabel: User-provided name of the object (UTF-8)

Clearing Options

  • DateBound Box: Should the operation be limited by the stock object or by the bounding box of the base object
  • DateCut Mode: The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise)
  • DateCut Pattern: Clearing pattern to use
  • DateCut Pattern Reversed: Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center
  • DateDepth Offset: Z-axis offset from the surface of the object
  • DateLayer Mode: The completion mode for the operation: single or multi-pass
  • DatePattern Center At: Choose location of the center point for starting the cut pattern
  • DatePattern Center Custom: Set the start point for the cut pattern
  • DateProfile Edges: Profile the edges of the selection. There are the following options (images can be seen in this forum post: https://forum.freecad.org/viewtopic.php?p=676452#p676452):
    • DateNone: Don't create a profile
    • DateOnly: Create only a profile and no inner paths
    • DateFirst: Start with the profile and then do the rest
    • DateLast: Start with the rest and then do the profile
  • DateSample Interval: The Sample Interval. Small values cause long wait times
  • DateStep Over: Step over percentage of the drop cutter path

Depth

  • DateClearance Height: The height needed to clear clamps and obstructions
  • DateFinal Depth: Final Depth of Tool- lowest value in Z
  • DateSafe Height: The above which Rapid motions are allowed.
  • DateStart Depth: Starting Depth of Tool- first cut depth in Z
  • DateStep Down: Incremental Step Down of Tool

Mesh Conversion

  • DateAngular Deflection: Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot
  • DateLinear Deflection: Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much but can increase memory comsumption

Optimization

  • DateCircular Use G2 G3: Convert co-planar arcs to G2/G3 gcode commands for `Circular` and `CircularZigZag` cut patterns
  • DateGap Sizes: Feedback: three smallest gaps identified in the path geometry
  • DateGap Threshold: Collinear and co-radial artifact gaps that are smaller than this threshold are closed in the path
  • DateOptimize Linear Paths: Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-Code output
  • DateOptimize Step Over Transitions: Enable separate optimization of transitions between, and breaks within, each step over path

Path

  • DateActive: Make False, to prevent operation from generating code
  • DateBase: The base geometry for this operation
  • DateComment: An optional comment for this Operation
  • DateCoolant Mode: Coolant mode for this operation
  • DateCycle Time: Operations Cycle Time Estimation
  • DateTool Controller: Defines the Tool controller used in the Operation
  • DateUser Label: User assigned label

Rotation

  • DateCutter Tilt: Set the cutter (spindle) tilt angle.
  • DateDrop Cutter Dir: The direction along which dropcutter lines are created
  • DateDrop Cutter Extra Offset: Additional offset to the selected bounding box - use sub-properties to set values
    • DateX: X distance value
    • DateY: Y distance value
    • DateZ: Z distance value
  • DateRotation Axis: Set the axis for model rotation.
  • DateStart Index: Start index(angle) for rotation
  • DateStop Index: Stop index(angle) for rotation

Selected Geometry Settings

  • DateAvoid Last X Faces: Avoid cutting the last 'N' faces in the Base Geometry list of selected faces
  • DateAvoid Last X Internal Features: Do not cut internal features on avoided faces
  • DateBoundary Adjustment: Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary
  • DateBoundary Enforcement: If true, the cutter will remain inside the boundaries of the model or selected face(s)
  • DateHandle Multiple Features: Choose how to process multiple Base Geometry features
  • DateInternal Features Adjustment: Positive values push the cutter toward, or into, the feature. Negative values retract the cutter away from the feature
  • DateInternal Features Cut: Cut internal feature areas within a larger selected face

Start Point

  • DateStart Point: The custom start point for the path of this operation, set in sub-properties: X, Y, Z
    • DateX: X axis value
    • DateY: Y axis value
    • DateZ: Z axis value
  • DateUse Start Point: Make True, if specifying a Start Point

Surface

  • DateScan Type: Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan.

Waste

  • DateIgnore Waste: Ignore areas that proceed below specified depth.
  • DateIgnore Waste Depth: Depth used to identify waste areas to ignore.
  • DateRelease From Waste: Cut through waste to depth at model edge, releasing the model.

Tasks Window Editor Layout

Descriptions for the settings are provided in the Properties list above.

This section is simply a layout map of the settings in the window editor for the Operation.

Base Location

  • Base Geometry import selection: Use this list to select Base Geometry to be imported from the selected, existing operation
  • Import: Imports the selected operation's Base Geometry into the current operations Base Geometry list
  • Base Geometry list for current operation: List of Base Geometry for current operation, if any selected
  • Add: Adds selected element(s) which should be the base(s) for the path(s)
  • Remove: Remove the selected item(s) in the Base Location list
  • Edit: Clear all items in the Base Location list

Depth

  • DateStart Depth
  • DateFinal Depth
  • DateStep Down

Height

  • DateSafe Height
  • DateClearance Height

Operation

  • DateTool Controller
  • DateCoolant Mode
  • DateBoundBox
  • DateScan Type
  • DateLayer Mode
  • DateBoundBox extra offset X
  • DateBoundBox extra offset Y
  • DateDrop Cutter Direction
  • DateDepth Offset
  • DateStep Over
  • DateSample Interval
  • DateOptimize Output Enabled
  • DateUse Start Point
  • DateBoundary Enforcement
  • DateOptimize Linear Paths

Resources