Jump to content

Convert 2d dwg map in AutoCad to 3d map using LISP


Mary7623

Recommended Posts

Hello!

I am quite new in the topic, but I have to convert my 2d dwg map in AutoCad to 3d map using Lisp. Anyone can help? :)

I am sure how to do it in dynamo but it doesn't help much.

Thanks in advance!

map.dwg

Edited by Mary7623
Link to comment
Share on other sites

Its all at z=0 so its almost impossible. We have in the past made simple street scapes with 3d buildings but we started with a 3d surface so the building footprint could be extruded with a height. 

 

If you want a picture or a walk through there is software out their but its not cheap and you have to buy the 3d maps or in our case was aerial flown. Think drones etc. 

 

One software was Pictionary.

 

Maybe Google earth etc.

Link to comment
Share on other sites

I might be wrong but the heights are there as texts - I think the ground levels are all on the same layer? So it might be possible to filter this layer, read the texts and put a point at the text coordinates, make a surface out of that?

 

I think also that some underground services also have a height (some are shown as a 'fraction' 292.87 / 290.22 for example? Surface level at that point and service level?

 

There are some blocks with levels and a point (same as the insertion point?) you could extract the text?

 

So I reckon you can use that to get surface levels, put a point at that height, connect the points to make a surface? I am don't do civils stuff so not sure how to make a surface with LISP but would that work?

 

Might need to check that the texts are within a range (say 290 - 295) to eliminate other stuff?

 

 

 

Based on that thinking, how is your LISP coding? Can you do a selection set, filtered by layer? (ssget '((8 . "mylayer") )) Doing this one step at a time, get all the entities on "punkt o określonej wysokości (sieć kanalizacyjna)-Atr2" layer for example. In this layer lines are polylines middle point is the text insertion point, can do a search if text co-ordinates are the middle point then get the end of the polyline else use the text insertion point, place a point at that with the text value.

 

Might even hide that layer after working on it, eventually all that will show are anything that you'd need to look at individually, make building heights a nominal height, say 3m?

 

Think this could be slower to develop, a few things to consider, but one step at a time?

Link to comment
Share on other sites

Steven the text appears to be the invert levels of pipes so is underground, I can not see ground level text hence why I said all at 0.0. Yeah I am a CIVIL engineer. 

 

The answer seems to be go back a few steps how was the original dwg made ? If it was traced over aerial photo etc then no levels, in saying that CIV3D has various tools to overlay linework over a 3d surface, the 3d surface maybe from a source like Google maps. Same with image can drape over surface. 

 

I did 1 3d of a building as a simple example of adding structures.

 

image.png.b23beca96e78f602453a7bc467f9fabc.png

 

The question is like reverse engineer but there is no data.

 

This image is a 3D  surface but linework is 2D done on purpose that way.

 

image.thumb.png.c056696741128607566f873898bab0ea.png

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...