PDA

View Full Version : Corel Draw - multiple stacked objects



Robert Walters
06-12-2014, 5:40 PM
I have Corel draw 14, but us there some setting/option I can set to visually determine that that are multiple "stacked" object on top of each other that I'm not aware of?

I'm another cad/cam application, the elements will turn a different color when count > 1 to give you an indication, I'd love such a thing in corel.

Brian R Cain
06-13-2014, 3:00 PM
If you open the Objects Manager docker it will tell you every object that exists in the drawing. If they are grouped, it will show as one object but clicking on the + next to it will expand the group to show what it contains.

Kev Williams
06-13-2014, 3:12 PM
Easy way is the "status bar" at the bottom, just draw a box around anything and the status bar tells you how many objects are there---
In my sample screenshot below, it says there's 6 objects (each rectangle, and my text is split on each plate into 1 line plus 2 lines, 6 objects total)

291239

Robert Walters
06-13-2014, 4:25 PM
I'm speaking of when cleaning up clipart/artwork for "machine ready"

In this screenshot, the status bar and object manager shows two objects:
291240

But in reality, there are twenty objects:

291241

I've attached the cdr file (version 9) if you want to see for yourself.
The 'background circle' has "nested stacked" elements in it that are just combined.

This is just a simple example. Many times you get artwork that are way worse than this that need to be cleaned up. Being able to see at a glance that there is "something" else there, would help dramatically.

Kev Williams
06-13-2014, 4:39 PM
I see what you mean, and I've never found an "easy" way to find the buried objects.

But I do have some ways... ;)

For your sample, I would just draw a box around the graphics, then un-group all, then combine all, then un-combine all- Then all the objects will be separate and will show up in the status bar.

To keep only what I need, I set the jog to a massive amount, usually 24", then I just click on each object I want then jog it over. When I'm done everything left behind can be deleted...

OR, I will box what I want and run an outline, then jog over the results...

This works okay for me, with simple stuff, might not be so great with complicated graphics...

Robert Walters
06-13-2014, 4:53 PM
Well, the difficulty in that is you are not sure what you'll be doing with the artwork.

Maybe it's fill with raster engraving. But if the object is not "closed" but on screen as multiple items your tool will wack out.

Take the svg tiger as example:
http://commons.wikimedia.org/wiki/File:Ghostscript_Tiger.svg


291243


When viewed in wireframe, it's bad, really bad....

291245

for use in a machine, be it laser, router, cnc, etc.

Mike Chance in Iowa
06-13-2014, 7:26 PM
This is not a full solution, but one quick way for me to see if something is wonky with an object is to select the item with the Shape Tool and then zoom (scroll wheel) in some 400,000% and you'll see multiple dotted lines. In your file example, I would select the circle with the Shape Tool and then zoom in on the corner of the square inside the circle. You can't tell exactly what is "wrong" with the graphic, but you can see there are multiple lines there. For something as simple as this graphic, I might use the Smart Fill tool and create 2 new objects and do any necessary edits from there.

Aaron Koehl
06-13-2014, 11:07 PM
For the SVG tiger, and for many graphics where shapes are layered, you can use the Simplify tool in Corel. This "flattens" the vector image in a sense, so that shapes no longer overlap, as a first step in preparing for vector machining. For the circle/rectangle example, CTRL+K, CTRL+G is a quick way to expose cuves that are made of multiple subpaths and give you a count.

Or, a simple VBA solution:



' Color curves made of subpaths red
Sub redPaths()
Dim s As Shape
For Each s In ActivePage.Shapes
If s.Type = cdrCurveShape Then
If s.Curve.SubPaths.Count > 1 Then
s.Outline.Color.RGBAssign 255, 0, 0
End If
End If
Next
End Sub


The above would color the circle in your example red, leaving the rectangle black.

Robert Walters
06-14-2014, 4:10 AM
Hi Aaron,

Using the same sample file, I duplicated the circle/square and gave a yellow fill, blue stroke.
The square fills with yellow, the circle does not.

Both objects selected, hit CTRL+K, didn't do anything.
Select only the circle, hit CTRL+K, 19 objects selected.

Hit SIMPLIFY, and the 19 are reduced to 5, plus a portion of the circle is filled.

The only way I've found to "clean up" this object (at this point) is to hit "create a new object that surrounds the selected objects", and then it will create the desired object. Leaving to just delete the 19 objectionable ones.

Oddly it fills the desired object with green even though I have blue for fill *shrug*.

(attached file below)

For just a circle and a square, that was a PITA and a lot of work. If you get into something even slightly more complex that can just become overwhelming.



CODE SNIPPET

The last time I touched anything BASIC was when the lab monkeys annoyed me...

10 LPRINT CHR$(12)
20 GOTO 10

Since many times we use red hairline to indicate CUT, is it possible to give a dashed or dotted blue 2pt line?

Also, where exactly do I put this script and what's it's scope of operation?





For the SVG tiger, and for many graphics where shapes are layered, you can use the Simplify tool in Corel. This "flattens" the vector image in a sense, so that shapes no longer overlap, as a first step in preparing for vector machining. For the circle/rectangle example, CTRL+K, CTRL+G is a quick way to expose cuves that are made of multiple subpaths and give you a count.

Or, a simple VBA solution:



' Color curves made of subpaths red
Sub redPaths()
Dim s As Shape
For Each s In ActivePage.Shapes
If s.Type = cdrCurveShape Then
If s.Curve.SubPaths.Count > 1 Then
s.Outline.Color.RGBAssign 255, 0, 0
End If
End If
Next
End Sub


The above would color the circle in your example red, leaving the rectangle black.

Dave Sheldrake
06-15-2014, 3:42 PM
Ouch....

I tend to save as DXF then open in AutoCAD, "Flatten" then "Overkill" pretty much takes care of it

cheers

Dave

Brian R Cain
06-15-2014, 4:40 PM
I have no idea whether this is relevant or not, but the occasions I have most commonly encountered the scenario of having multiple stacked objects has been when a graphic was exported as a DXF at some point in its career. I remember reading years ago that DXF is a file format that Autodesk created to allow file transfer to other applications but for many years the standards for it were never released. Consequently, programs were being written to be able to import and export DXFs without the ability to control what happens in a fully organised way, added to which each software writer used their own interpretation. The odd thing I've found is that I can import the same file several times and there is no consistency in the number of additional objects it has.

Chris J Anderson
06-15-2014, 11:06 PM
(Hoping I've read this thread correctly and that my answer is relevant)...
Not trying to sell the product for the guy, but the eCut software macro can search for duplicate objects, and you can then remove all duplicates with the click of a button.

cheers,
Chris

Robert Walters
06-16-2014, 12:37 AM
the eCut software macro can search for duplicate objects, and you can then remove all duplicates with the click of a button.

Hi Chris,

Nice suggestion, only caveats I could see are:
1. I couldn't find documentation on the macro.
2. It may not work with combined objects.
3. The macro is "locked" to a single system, Corel's EULA allows installation on up to 3 systems.
4. No limited time trial to see if it works.

Chris J Anderson
06-16-2014, 5:44 AM
Not sure on most of that Robert,
Maybe contact the developer, his communication has been very good for me...