Jump to content
JamesBorubar

3d solids to blocks

Recommended Posts

JamesBorubar

Hi,

How can I simplifying 3D drawings by replacing repeating 3D solids with blocks?

Thank you in advance for answers.

James

Share this post


Link to post
Share on other sites
Cad64

I'm not sure what sort of answers you're looking for? Are you looking for information about how to create a block or are you looking for a way to replace your existing 3D solids with block instances or are you looking for an explanation about why you should use blocks?

 

Can you clarify your question?

Share this post


Link to post
Share on other sites
halam

That is complicated. You have be able to filter based on volume and calculate the centre point first..

 

Why do you need it (this way)??

Share this post


Link to post
Share on other sites
Dadgad

It sounds like you should probably be using Xrefs.

Share this post


Link to post
Share on other sites
JamesBorubar
I'm not sure what sort of answers you're looking for? Are you looking for information about how to create a block or are you looking for a way to replace your existing 3D solids with block instances or are you looking for an explanation about why you should use blocks?

 

Can you clarify your question?

 

Cad64,

I'd like to know the easiest way to convert repeating 3solid to one block.

Share this post


Link to post
Share on other sites
JamesBorubar
That is complicated. You have be able to filter based on volume and calculate the centre point first..

 

Why do you need it (this way)??

 

I've got filter- thank you halam again.

There are 2 reasons:

1. I want reduce size of file

2. Preparation for import into Inventor

Share this post


Link to post
Share on other sites
ReMark
Cad64,

I'd like to know the easiest way to convert repeating 3solid to one block.

 

Why wouldn't you just use the BLOCK command? There is no "converting". If the block is going to be used in multiple drawings then use the WBLOCK command.

Share this post


Link to post
Share on other sites
Cad64
Why wouldn't you just use the BLOCK command? There is no "converting". If the block is going to be used in multiple drawings then use the WBLOCK command.

 

I think he wants to replace existing solid models with block instances. For example, if he has 100 individual nuts, washers & bolts in his model, he wants to automatically replace all those individual parts with block instances. I don't know how to do that without the aid of a custom lisp routine, but even then, I think it would be quite difficult to precisely replace the solids with block instances, taking into account the exact position, rotation and alignment of each solid.

 

This is why it's important to have a game plan before you start building a model. If you know you're going to have repetitive items, like nuts & bolts, create blocks in the beginning. Trying to go back now and replace everything with blocks is going to be a chore and something you will probably have to do manually.

Share this post


Link to post
Share on other sites
halam
I've got filter- thank you halam again.

There are 2 reasons:

1. I want reduce size of file

2. Preparation for import into Inventor

 

1. How did the file size get out of hand?

To me it sound you are dealing with 3d collections as a result of other software. Why didn't you used blocked 3d element to start with? What is the background? (just asking because this replacements method maybe can be done smarter than 3d solid) filter by material can be a trick here.

Share this post


Link to post
Share on other sites
JamesBorubar
Why wouldn't you just use the BLOCK command? There is no "converting". If the block is going to be used in multiple drawings then use the WBLOCK command.

 

Yes, of course, you are right, it isn't actually conversion, just making blocks.

Share this post


Link to post
Share on other sites
JamesBorubar
I think he wants to replace existing solid models with block instances. For example, if he has 100 individual nuts, washers & bolts in his model, he wants to automatically replace all those individual parts with block instances. I don't know how to do that without the aid of a custom lisp routine, but even then, I think it would be quite difficult to precisely replace the solids with block instances, taking into account the exact position, rotation and alignment of each solid.

 

This is why it's important to have a game plan before you start building a model. If you know you're going to have repetitive items, like nuts & bolts, create blocks in the beginning. Trying to go back now and replace everything with blocks is going to be a chore and something you will probably have to do manually.

 

I am looking for tool similar to that: http://www.cadforum.cz/cadforum_en/simplifying-3d-drawings-by-replacing-repeating-3d-solids-blocks-tip10802

but without restrictions.

I've got ready 3d model with 3d solids.

Share this post


Link to post
Share on other sites
JamesBorubar
I think he wants to replace existing solid models with block instances. For example, if he has 100 individual nuts, washers & bolts in his model, he wants to automatically replace all those individual parts with block instances. I don't know how to do that without the aid of a custom lisp routine, but even then, I think it would be quite difficult to precisely replace the solids with block instances, taking into account the exact position, rotation and alignment of each solid.

 

This is why it's important to have a game plan before you start building a model. If you know you're going to have repetitive items, like nuts & bolts, create blocks in the beginning. Trying to go back now and replace everything with blocks is going to be a chore and something you will probably have to do manually.

 

I don't care about bolts and nuts, just for plates and RHS's sections

Edited by JamesBorubar
mistake

Share this post


Link to post
Share on other sites
steven-g

And how does that routine restrict you?

Share this post


Link to post
Share on other sites
JamesBorubar
And how does that routine restrict you?

 

The application doesn't support combined 3D solids (3DSolid) created e.g. using boolean operations, only boxes, cylinders and other primitives.

Share this post


Link to post
Share on other sites
halam
I am looking for tool similar to that: http://www.cadforum.cz/cadforum_en/simplifying-3d-drawings-by-replacing-repeating-3d-solids-blocks-tip10802

but without restrictions.

I've got ready 3d model with 3d solids.

 

 

Intressting routine, but i could not get it to work.

modelled 5 cubes all 1.0 m3 but is doesn't seem to work.

How does this routine work? What does it calculate to check for equility? (i was thinking : volume and boundingbox?)

2017-10-08_22-22-02.jpg

Share this post


Link to post
Share on other sites
JamesBorubar
Intressting routine, but i could not get it to work.

modelled 5 cubes all 1.0 m3 but is doesn't seem to work.

How does this routine work? What does it calculate to check for equility? (i was thinking : volume and boundingbox?)

It works, but only with sample drawing Kvadry.DWG ...

Share this post


Link to post
Share on other sites
SEANT

Upload a sample drawing. Create the sample, if needed, to avoid proprietary/intellectual property concerns.

Share this post


Link to post
Share on other sites
David Bethel

I think that I can compare (2) 3D Solids and tell if they are identical geometry, layers, color etc. I cannot tell you where they are located .

 

Draw (2) 3D SPHEREs with the same diameter, only different locations.

 

[b][color=BLACK]([/color][/b]defun c:c3d [b][color=FUCHSIA]([/color][/b]/ ss e1 e2 d1 d2 c1 c2 rl[b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]not e1[b][color=NAVY])[/color][/b]
        [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"\nSelect 2 Entities:   "[/color][b][color=NAVY])[/color][/b]
        [b][color=NAVY]([/color][/b]and [b][color=MAROON]([/color][/b]setq ss [b][color=GREEN]([/color][/b]ssget[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]= [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 2[b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]setq e1 [b][color=GREEN]([/color][/b]ssname ss 0[b][color=GREEN])[/color][/b]
                   e2 [b][color=GREEN]([/color][/b]ssname ss 1[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]eq e1 e2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
             [b][color=MAROON]([/color][/b]setq d1 [b][color=GREEN]([/color][/b]entget e1[b][color=GREEN])[/color][/b]
                   d2 [b][color=GREEN]([/color][/b]entget e2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]setq rl [b][color=NAVY]([/color][/b]list -1 5 330[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]foreach g d1
   [b][color=NAVY]([/color][/b]if [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]member [b][color=BLUE]([/color][/b]car g[b][color=BLUE])[/color][/b] rl[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
       [b][color=MAROON]([/color][/b]setq c1 [b][color=GREEN]([/color][/b]cons g c1[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
   [b][color=NAVY]([/color][/b]if [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]member [b][color=BLUE]([/color][/b]car g[b][color=BLUE])[/color][/b] rl[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
       [b][color=MAROON]([/color][/b]setq c2 [b][color=GREEN]([/color][/b]cons g c2[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]equal c1 c2[b][color=NAVY])[/color][/b]
     [b][color=NAVY]([/color][/b]alert [color=#2f4f4f]"SOLIDs Are Indentical"[/color][b][color=NAVY])[/color][/b]
     [b][color=NAVY]([/color][/b]alert [color=#2f4f4f]"SOLIDs Are NOT Indentical"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 

Without the location information, I don't know if it could be done. -David

 

And I do mean identical. Not rotated, not different elevations etc

Share this post


Link to post
Share on other sites
SLW210

I would just make it a block and locate them manually, just try to make the insertion point of the block something logical for locating.

 

Is there a particular relationship between the solids?

 

Just post a drawing that shows what is needed, might help with better solutions.

Share this post


Link to post
Share on other sites
JamesBorubar
It works, but only with sample drawing Kvadry.DWG ...

Sorry I was wrong, it works with AutoCad 2015:open?id=0Bzp18QfOiJ2aeUhVMDEwQ3VHb1E

blockref.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×