Mary7623 Posted July 15, 2022 Posted July 15, 2022 (edited) 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 July 15, 2022 by Mary7623 Quote
SLW210 Posted July 15, 2022 Posted July 15, 2022 I have moved your thread to the AutoLISP, Visual LISP & DCL Forum. 1 Quote
mhupp Posted July 15, 2022 Posted July 15, 2022 There is a lot going on in that drawing. what do you want in 3d? Quote
BIGAL Posted July 15, 2022 Posted July 15, 2022 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. Quote
Steven P Posted July 16, 2022 Posted July 16, 2022 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? Quote
BIGAL Posted July 17, 2022 Posted July 17, 2022 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. 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. 1 Quote
Recommended Posts
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.