OpenCutList version 6.0.0 is out!

Do you try this ?

@number + "\n" + @name

Not in once operation. But in next 7.0 release, you will be able to append new page to an existing Layout file.

You can’t. Batch export is designed to ensure the user that the content only contains the parts exported with the current operation.
Otherwise mixing materials could cause file name conflicts.

1 Like

Great! Thanks you for the quick response, I blew it not closing my quotes, all good now. I continue to explore how I can make use of OCL for my work.

OK, Perhaps I have not used the extension enough to understand this. So, how would I go about this if I have two or more assemblies in my model, each with multiple parts, each made of the same material. If I open one assembly and export the faces a folder is written in my project folder with the material name. Now how can I now also export the second and third assembly with the same material? I could target a different save folder each time so the name conflict won’t matter and then manually rename each of the identical created folders before moving it back to the project folder? I’ll have to keep working with this, the extension is very well thought out so I’m sure there is a reason for this choice. For my workflow I’d like to end up with say 10 folders, each containing the cut-paths for a particular assembly in the model, but all will be cut from the same material.

Thank you.

Select all assemblies in the model and export them together.

1 Like

Ok, Thank you for the response.

It’s pretty impractical for me there are many parts collections all in the same model that go for manufacture at different times over the course of a long process. I think I’ll develop a workaround by having a designated target export folder where I can change the folder names and then move things to where I want them to be, that will work. It would be easier if I was allowed to name the export folder myself at export, instead of having the material name forced on me, but I can work around it.

Thank you for your work on this extension.

Using material name + thickness for the exported folder ensures that the folder and DXF file names don’t conflict, so it’s not really possible to customize it.

1 Like

While this thread is active, I have a question for @boris.beaulant:

What is your intended workflow in terms of part naming and labeling using instances and definitions (and optionally DC names)?

In our system, we don’t use instances at all, only definitions. That is kind of a pain because of the requirement that definition names be unique. So we can’t have two components called “Back Panel A” in the cut list. They have to be “Fitness Cabinet Back Panel A” and it gets too wordy.

I would like to use instances but the way they appear in the parts list is difficult to read when printed out.

I wound if there shouldn’t be an option to abandon the definition name and just use instance name for designation?

Sorry my question is very general.

Yes, this is definitely not the best place to ask new questions. And I would rather see this new general thread featured than this old one :wink:


OpenCutList logic is fully based en SketchUp component logic. And I remain convinced that this is the best approach. The name is written only once and refer to only one drawing pattern.
So part’s names are definition names and must be unique, yes.
So if you want the see 4 different parts instead of 1 part with quantity of 4, you have to made component unique… or uses the DC name attribute to customize part’s names.

Hi All,
Only fired up OCL yesterday in experimenting with it as an alternative to our current process of going from Sketchup to Vectric’s Cut2D Pro for CNC machining. I must say I love the ease of use and layout of OCL. Simply brilliant work!

After some playing around with the ‘paths’ functionality of OCL, I have some development suggestions.

It would be useful if:

1- A path (2D circle, curve, line) is identified by the OCL export tool if it is a nested component (rather than a group). It appears that only nested groups are processed.

2- Upon export to DXF, paths on a common Sketchup tag are assigned to a CAD/CAM ‘layer’ of the same name. For example, in my S.U. model, all 2D paths which are assigned the tag ‘3mm_hole_9mm_deep’ would wind up on a CAD layer also called ‘3mm_hole_9mm_deep’.

It appears that all geometry identified as a ‘path’ wind up on the one layer, generated by OCL, called OCL_PART_DEPTH____0_000_PATH.

The above would make it very easy to isolate 2D geometry by tool path in one’s CAM software of choice etc.

Once again, congratulations on the hard work. OCL is SO good with it’s current suite of features.

1 Like

Hello @Early_Hominid,

First of all, I am touched to see that you appreciate OpenCutList.

Unfortunately this can’t be possible. The Group vs Component logic is fully used to determine what is a part and what is not. So using this approach for path will bring a lot of complexity. But alternative exists.

Why do you need this ?
Do you know that “Cut opening” components ?

“Cut opening” components can cut out the geometry of a face while being sub-components.
(It can cut only one face)
OpenCutList treats them as normal geometry, so they can be used to make blind and non-edge holes in faces.

cut_opening_example.skp (29,0 Ko)

I understand the need. But OCL’s geometry export module is based on projection logic. And uses DXF layers to place the calculated depths relative to the projection plane.

With this projection logic, a 3D line doesn’t necessarily have a direct 2D copy. It can be distorted, merged or simply hidden.
It is therefore quite impossible to track the tags assigned to 3D geometry.

The OpenCutList export module is designed to export what you see. Using markup to present 3D information, such as the radius of a circle or the depth of a hole, is error-prone because the information is unrelated to the actual geometry and its projection plane.

I know that most of CNC software that allow to import DXF can use the Layer attribute to read tool data. But it remains unqualified data which can be contradictory to geometry.

Currently, OpenCutList detects and exports the main machining types very well if they are truly drawn in the 3D part.

The only slight drawback is that grooves are exported without adding any additional machining shape.

2 Likes

Hi Boris,
Thanks very much for your extremely comprehensive answer!

I have approximately 30 fixing sub-components which get regular use in our Sketchup designs. These are basically just a group of 2D holes which might represent a bracket, for instance, wrapped up in a component which I then place in specific locations in the part. I was hoping I could use them as they exist now in models destined for export with OCL. That is, without the need to modify them in any way.

I’m very familiar with ‘cut opening’ components and thanks for pointing this out as an option. So far in my experimentation with ‘cut opening’ components, the resultant OCL export appears to identify them as the same depth as the thickness of the parent part, no matter their physical depth.

For example, my basic part is 17mm thick (see first image below) and I place into it a ‘cut opening’ component which is an open top cylinder, 9mm in length (The cylinder terminates 9mm below the top surface of the parent part). When the parent part is exported to DXF (see second image below), the 2D circle corresponding to the cylinder is placed on a CAD layer called ‘OCL_PART_DEPTH___17_000_HOLES’. This would indicate OCL is identifying the hole 17mm deep, not 9mm deep.

Is automatic hole depth detection possible with Open Cut List and the cut opening components?

Many thanks again.

Yes :wink:
However, you must pay attention to the direction of the faces. OCL ignores faces that do not have their normal pointing towards the projection plane.
So, because it’s a hole, you have to reverse faces of the cylinder.

wrong_good.skp (39,2 Ko)

Brilliant, @boris.beaulant !
The thought and rationale which has gone into this software development is outstanding.
You have a new convert in me.
Will be making a contribution to the development fund too.
Onwards and upwards.

1 Like

is there a way i can apply edge banding to and angled edge of a component?

No. Edgebanding is designed to display its results in a four-column table, so it only checks the four sides of a rectangular parallelepiped.

Hi Boris,
Below is a screenshot of a part setup for DXF export using OpenCutList.

This shows use of the Lamello Cabineo 12 knock-down connector which requires a ‘pocket’ cut to 13.5mm deep. However, to cut the pocket correctly, It’s vector outline must intersect with the cut profile of the parent part. This is because on the CNC machine, the pocket tool paths are cut prior to the parent part profile.

For the job to be setup correctly in CAM, the pocket shape must remain a closed polyline and not merge or interact with the profile of the parent part. (For isolation purposes)

In the Sketchup model, using a ‘cut-opening’ component to represent the Cabineo shape, the portion of this shape which extends over the boundary of the parent part will be merged into the cut profile of the parent part in the resulting DXF export. See the small arc in the cut profile below. (only the parent part’s layer is visible here)

This is the case if OpenCutList’s ‘isolate through holes and merge depths’ feature is toggled on prior to export.

The other option in the Sketchup model is to treat the Cabineo as an OpenCutList ‘path’. In this case the Cabineo shape is drawn as a 2D nested group inside the parent part. The resulting DXF export is perfect! - the Cabineo polyline does remain separate to the parent part profile. The below screenshot shows the layer separation of the path (blue) and cut profile (green).

But..

There is one major drawback to using a ‘path’ group to achieve vector separation. That is, it must be a Sketchup group (not a component! - as discussed above in this thread). This, as we all know, has limitations with respect to quick substitution. If the object is a group, all instances cannot be easily selected and replaced with another object like one can with components.

I frequently use @thomthom 's Selection Toys to select all common components in the model - even when there exists many components ‘burried’ or nested deep within multiple parent parts throughout the model. This is very useful for substituting fixings components quickly using the components browser.

Do you know of a way to retain the intersecting shape as a polyline using a ‘cut opening’ component?

Please excuse the complicated explanation - I hope I’m missing a simple solution?!

Many Thanks

Hello @Early_Hominid,

In this case, the best choice would be to combine path + cut-opening.

  1. Cabineo is a cut-opening component without face
  2. Part-Body is a group that contains the part shape to avoid the SU cut opening behavior.


1 Like

Hi,
I tried this and the cut profile of the parent part still contains the small arc extending beyond it’s boundary. See screen recording here..

It also has the disadvantage of not having depth detection.

The cut-opening component must contains ONLY edges, no face.

What’s your cut-opening geometry looks like in your model ?

Hi,
Is the cut-through component to be 2D or 3D? That is should it still have depth even though it has no faces?