zixuan203344 Posted July 5, 2018 Posted July 5, 2018 How to draw the boundary(or maximum outline) of a point set? Require all points to be on the outline or inside the outline By looking up academic materials, it seems to be a concave hull algorithm。 concave hull Quote
marko_ribar Posted July 5, 2018 Posted July 5, 2018 Are your points like in the picture - spaced like grid and should boundary always be orthogonal like in your picture? Quote
BIGAL Posted July 5, 2018 Posted July 5, 2018 Architecture has a command called "shrinkwrap" may not be in 2014 try it. I have used in CIV3d but for 3dfaces and works great. Will test points. Ok did not work as its points and uses lines. Take every point and draw a line to every other point, erase any line over root 2 1.1414 times the grid spacing, use lineworksshrinwrap, this will make a outer boundary pline put on another layer delete all the point joins lines. Note will only work with a grid. Quote
Tharwat Posted July 5, 2018 Posted July 5, 2018 Hi, If these points are a hatch pattern then hatchedit should get the job done with the option recreate boundary. Quote
zixuan203344 Posted July 5, 2018 Author Posted July 5, 2018 Thank you for your reply. This is just a special case. Not all point spacing is equal. I want to find a general method. Quote
zixuan203344 Posted July 5, 2018 Author Posted July 5, 2018 Architecture has a command called "shrinkwrap" may not be in 2014 try it. I have used in CIV3d but for 3dfaces and works great. Will test points. Ok did not work as its points and uses lines. Take every point and draw a line to every other point, erase any line over root 2 1.1414 times the grid spacing, use lineworksshrinwrap, this will make a outer boundary pline put on another layer delete all the point joins lines. Note will only work with a grid. Thank you for your reply.Not all point spacing is equal.This is just a special case Quote
BIGAL Posted July 6, 2018 Posted July 6, 2018 If you search here there is some Triangulation software it will make a mesh of random points, then you can use shrinkwrap,, problem is the mesh has to be edited removing non essential 3dfaces, this is something done in the civil surface world all the time. You could still take the approach I suggested to make some form of shape removing lines, the obvious is the remove long lines 1st for us this = about 90% done, then erase the lines in the corners. lee's Convex hull may be a starting point, but even looking now misses some edges compared to what I wanted as a final product. Random points is a real problem. Quote
marko_ribar Posted July 6, 2018 Posted July 6, 2018 As far as I can tell, correctly implemented triangulation to random set of points should return convex hull boundary - not concave... Quote
BIGAL Posted July 6, 2018 Posted July 6, 2018 (edited) You are correct Marko the issue is to do with what we call long triangles have a look at this image, left is as built right is after edits and has the correct boundary. Looking now 3 mistakes ? Need to fix and redo, these were little tiny slivers so the correct answer is both concave and convex, then LINEWORKSHRINKWRAP. We use delete long triangles via a length factor reducing till we start erasing ones we need then it becomes maual edits. I have been told we may have a 3rd party solution from our surveyors. left after create triangles, middle is correct answer, right is convexhull.lsp Edited July 6, 2018 by BIGAL Quote
Roy_043 Posted July 7, 2018 Posted July 7, 2018 I can 'connect the dots' in the 2nd picture of the OP with several more complex concave hulls... Quote
marko_ribar Posted July 7, 2018 Posted July 7, 2018 Yes BIGAL, but you must remove additional triangles and then recreate boundary and that's all fine if points are random... Triangulation works well only if TIN (Triangular Irregular Network), and OP's picture is grid like... For that I suppose he/she could use routine for orthogonal connections... I remember I did exactly that here on cadtutor, only difference was that instead of points there were circles... And for boundary creation from 3dFACES I also did routine (not shrinkwrap from Civil) on autodesk/customization forum for OP Carlos Gil from Venezuela - only thing was the output was 3dpolyline... Quote
marko_ribar Posted July 7, 2018 Posted July 7, 2018 That with circles was actually dimensioning - not boundary, but you can use my code with some mods. for boundary creation... http://www.cadtutor.net/forum/showthread.php?100330-Quote-external-circles For 3dpoly around 3dfaces (after modified triangulation), try something like this... (not shrinkwrap from Civil) https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/draw-3dpoly-in-3dfaces/m-p/7790036/highlight/true#M365245 HTH., M.R. Quote
zixuan203344 Posted July 8, 2018 Author Posted July 8, 2018 As far as I can tell, correctly implemented triangulation to random set of points should return convex hull boundary - not concave... I think you are right,If these points are equidistant,The problem is easy to solve,And the random point sets seem to have many situations Quote
zixuan203344 Posted July 8, 2018 Author Posted July 8, 2018 You are correct Marko the issue is to do with what we call long triangles have a look at this image, left is as built right is after edits and has the correct boundary. Looking now 3 mistakes ? Need to fix and redo, these were little tiny slivers so the correct answer is both concave and convex, then LINEWORKSHRINKWRAP. We use delete long triangles via a length factor reducing till we start erasing ones we need then it becomes maual edits. I have been told we may have a 3rd party solution from our surveyors. left after create triangles, middle is correct answer, right is convexhull.lsp it is a good solution For equidistant point sets or approximate equidistant point set Quote
marko_ribar Posted July 9, 2018 Posted July 9, 2018 Just for your info, I've added additional code here : http://www.cadtutor.net/forum/showthread.php?100330-Quote-external-circles&p=#9 It's for grid set of points with different dx and dy spacings... Regards, M.R. 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.