adjusting 3D polylines
Hi!
Probably someone of you knows merkaartor..(the application for helping Openstreetmap)
I ran into the problem that i have to divide and move polylines between points exactly the way merkaartor is doing it.
Just to explain: "activating a line gives a "virtual" point in the middle of the line which can be moved to adjust for e.g. streetcurves and moving such a "virtual" point makes the point non virtual and creates 2 new "virtual" points in the new divided polylines."
now to my problem .. i need exactly that functionality in a 3D tool (the points have a Z coordinate and the height should be divided as the new "virtual" point appears).
Does anyone of you know about such functionality in a LISP or Makro? Do you think it's possible to write such a tool for Bricscad?
I know 3D would be much more complicated than 2D but it is sooooo functional in merkaartor that i will not miss it ..
If anyone has a hint or idea - or has already created such a tool please tell me
thanks a lot
kind regards
macho
Comments
-
Hi Werner,
Your requirement sounds interesting but I have not understood what you want. I do not quite understand when you say "activate a line" and "create virtual points" etc.
If you can explain more about your requirements for this tool, I would like to explore and see if I can quickly create a Lisp for it.
If it is a generic requirement and could benefit many, I could add it to our GeoTools collection as well.
email me rakesh.rao(at)4d-technologies.com if you need to send me some attachments / sample dwg etc.
Regards
Rakesh Rao
http://www.4d-technologies.com/blogindex_en.htm0 -
Hi Rakesh!
Thanks for your reply..
It's really hard to explain in words what I need.
But just download Merkaartor from http://merkaartor.be/wiki/merkaartor/Download - it's free and open source
And if you create a Line and try to "move" it afterwards you'd see what i mean .. except that merkaartor is only able to handle 2D files where I'd need the same functionality for 3D polylines.
If you click on a line in merkaartor it becomes "active" and gets new "virtual" points exactly in the middle between already created point .. If you move such a "virtual" point - it becomes a real point and newly virtual points are created..
But please take a look at merkaartor .. It would be really nice if such a functionality would exist for 3D polylines in Bricscad.. Would help me a lot in creating 3D DTMs that i need .. Now I have to take the "slow" version with breaking the lines and move the point to it's new destination..
thanks a lot for your reply
Werner
0 -
You can PEDIT a 3Dpoly
then Edit Vertices, then Insert at MID point, eXit, eXit
and now you have a 3DPoly with a "virtual point" where to snap and edit position.
you can insert any vertices you need.
0 -
Hi Arturo!
Thanks for your answer - thats the way I do it already. But thats not very handy .. Imagine you have a polyline with about 15-20 points to insert .. And you have not only one polyline of that kind but a few dozen if not hundred.. that makes a lot of _pedit -> insert -> exit -> exit -> take point -> move it ...
It would be much more comfortable to just click (or even take the "virtual" point in the middle of two already existing points) and just move and drop it somewhere.. where new "virtual points" will be created automatically..
just try merkaartor and you'll see how much faster that is ..
But thanks for you answer anyway .. I appreciate any hint or tip ..
Werner
0 -
Hi Werner,
I downloaded Merkaartor and tried to play around with it. I created a "Road" element and then tried to add a node to it. It did add a "Node" in between at the picked point but it also changed the shape of the entire Road from a straight line to something with a bend in between. I did not understand that bit of it.
In any case, I think we have a couple of tools in our productuvity tools which come close to what you need. For anything else and more, ask me.
For example, there is GT_INSVX command under Polyline Tools that will ask you to pick a polyline and a point anywhere on or near it. The command then adds a new vertex in between the segment nearest to the picked point. The entire polyline updates itself automatically. This command works fully with 3D polylines also. Here also, like you already wrote to Arturo, the idea is to eliminate the several Pedit Edit, Next....Insert, Move....Xit commands that would otherwise be required. GT_INSVX does itn in two clicks.
There is a command to do the reverse also. GT_DELVX under Polyline Tools allows you to pick a vertex and delete it in one pick. Again, several Pedit clicks saved.
There are other useful polyline tools in GeoTools for part editing of polylines that you may find useful. Check this out:
If this does not fully meet your requirements, do let me know. I have not fully researched or understoood Merkaartor to know exactly what you need.
Regards
Rakesh Rao
Blog: http://rakeshrao.typepad.com0 -
Hi Rakesh
I will try out your GT_INSVX and see how it works ..
Sounds like a good start ..
What I would need are the same requirements as merkaartor has - just in 3D .. I'd like to have those pickpoints created automatically and just take this points and move them to where i want them to be - without loosing the height information.
For my DTM I always have a lot of measured point that cannot always be connected with a straight line - for e.g. streets or rivers .. and in that way I'd like to adjust the DTM with an underlying Orthophoto to be nearer to the real nature..
But I will give this GT_INSVX a try - sounds like it will save me at least a few clicks ..
Is this GT_INSVX a LISP or do i have to install the whole GeoTools package (which is far too much for me when i need only this particular function) ..
thanks a lot for your help anyway ..
Kind regards
Werner
0 -
Hi Werner,
The whole of GeoTools is one big Lisp, GT_INSVX is just one of the commands in it.
Give it a try and let me know how it goes.
As I said, I repeat myself, let me know what exactly you want beyond what GT_INSVX orother commands can do and I will see what I can do. I may be able to cook up quick Lisps for thsi forum, with source code.
Regards
Rakesh
http://www.4d-technologies.com/blogindex_en.htm0 -
Hi Rakesh!
I tried your GT_INSVX and I have to say - although it does not completely fullfill my needs it is much of a easing.
My personal need would be to divide automatically between two vertices and create a new vertex as soon as you move one of the neighbour vertices..
That would automate nearly the whole process (adjusting Terrain Lines along streetcurves) but it is really nice to have that tool the way it is also ..
But it's bundled to geotools i've seen - with hundreds of other nice tool but i would only need that particular one .. So what to do?
Thanks a lot for your help and for your hint ..
kind regards
Werner
0 -
Hi Werner,
What you are looking (inidividual tools) for is available at this URL:
http://www.4d-technologies.com/geotools/my_geotools.htm
It may be better to take this thread off-line now and you can reach me at my email rakesh.rao(at)4d-technologies.com
I still do not understand what you need beyond what GT_INSVX does. Unless it is relevant for the entire forum, you can email me. Specifically, I do not understand when you say you want to divide between the vertices. Maybe an illustration attached might help.
Regards
Rakesh Rao
http://rakeshrao.typepad.com0 -
As i cannot set the topic here to [solved] - i'd say - yes .. this thread is fully answered - thanks a lot ..
0