Offset of 2d or 3d closed polygon with different horizontal and vertical distance.

Offset of 2d or 3d closed polygon with different horizontal and vertical distance.

narasimharaoarza0211
Enthusiast Enthusiast
2,507 Views
39 Replies
Message 1 of 40

Offset of 2d or 3d closed polygon with different horizontal and vertical distance.

narasimharaoarza0211
Enthusiast
Enthusiast
  1. Required Offset for 2d or 3d closed polylines (Polygon ) with different horizontal and vertical distance.
  2. For example we have four (4) sides closed rectangle with 2d or 3d polylines.
  3. Offset for each side with different horizontal distance and vertical distance and the offset polyline should be closed.
  4. (Specify elevation difference or [Grade/Slope/Elevation] <0.000>: ) the same feature will be added for slope or elevation difference.  
0 Likes
Accepted solutions (1)
2,508 Views
39 Replies
Replies (39)
Message 21 of 40

Sea-Haven
Mentor
Mentor

Maybe a year ago a post maximum offset the inside splits into say 2 or more, so check ssget WP. 

 

I stil dont understand if have CIV3d why can not get it to work, that is what your dealer is meant to help you with not just take your money.

0 Likes
Message 22 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning sir ,

link for  https://youtu.be/JuIw7uwVMIA

0 Likes
Message 23 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning sir,

1. variable offset 3d polyline  link https://youtu.be/JuIw7uwVMIA

2. For pit link 

0 Likes
Message 24 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

 Good morning

 1. For variable offset for 3d polyline https://youtu.be/JuIw7uwVMIA

0 Likes
Message 25 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

good morning 

1. variable 3d offset link  https://youtu.be/JuIw7uwVMIA 

2. PIT  link    https://youtu.be/CvY5rtPAEU4

0 Likes
Message 26 of 40

john.uhden
Mentor
Mentor

@narasimharaoarza0211 

I am curious what the author's technique is for determining the corner elevations when adjacent sides are offset by different vertical distances.  And of course what happens when an irregular polygon is offset so much to the inside that it loses a vertex?

John F. Uhden

0 Likes
Message 27 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning sir,

With the  "offsetfeature" commend also :  trying to do offset inside it is losing vertex, Hence there is no problem if we loses vertex also.  Please observe the pit link for example.  

 

Is there any lisp for creating tin surface with contours

0 Likes
Message 28 of 40

Sea-Haven
Mentor
Mentor

Is there any lisp for creating tin surface with contours

 

Yes and you want for free obviously your being lazy and letting us do the searching for you,  if you google "TIN Autocad" you will find.

 

Bricscad now has TIN's so does Civ3D, Civil Site Design to mention a couple.

 

Ps I have a copy of the TIN software so do lots of others who bothered to look.

 

 

Message 29 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning

 

I found three lisp programs from our site but these three lisps are not working, ok I will search once again sir.  

  1. 5-Call Create TIN from File.lsp 
  2. 4-createTINfromfile.lsp 
  3. createsurffromcontours (vl-load-com)

 

 (defun c: createsurffromcontours () (contours / C3D C3DDOC DATASTR PRODSTRING SURF1 SURFS TINCREATIONDATA VERSTRING)

  (setq   C3D           (strcat "HKEY_LOCAL_MACHINE\\"

                                                   (if vlax-user-product-key

                                                     (vlax-user-product-key)

                                                     (vlax-product-key)

                                                   )

                                   )

                C3D           (vl-registry-read C3D "Release")

                verstring  (substr C3D

                                                   1

                                                   (vl-string-search

                                                     "."

                                                     C3D

                                                     (+ (vl-string-search "." C3D) 1)

                                                   )

                                   )

                prodstring (strcat "AeccXUiLand.AeccApplication." verstring)

  )

  (setq datastr (strcat "AeccXLand.AeccTinCreationData." verstring))

 

  (if (and (setq *acad* (vlax-get-acad-object))

                   (setq C3D (vla-getinterfaceobject *acad* prodstring))

                   (setq C3Ddoc (vla-get-activedocument C3D))

                   (setq surfs (vlax-get C3Ddoc 'surfaces))

                   (setq tincreationdata (vla-getinterfaceobject *acad* datastr))

      )

    (progn

      (vlax-put tincreationdata 'baselayer "0")

      (vlax-put tincreationdata 'layer "0")

      (vlax-put        tincreationdata

                                'description

                                "Createed Surface from Lisp"

      )

      (vlax-put tincreationdata 'name "Lisp EG")

      (vlax-put tincreationdata 'style "Border Only")

      ;;style must exist!

      (setq surf1

                     (vlax-invoke-method surfs 'addtinsurface tincreationdata)

      )

      (vlax-invoke

                (vlax-get surf1 'contours)

                'add

                contours

                "Added by lisp"

                50.0 ;;Weeding distance

                15.0 ;;Weeding angle

                25.0 ;;Supplemental distance

                0.05 ;;Midordinate distnace

      )

    )

  )

)

 

(defun c:doit (/ ss idx thelist ent)

  (if (setq ss (ssget "X" '((0 . "LWPOLYLINE")(8 . "Layer1"))))

    (progn

      (setq idx -1

                    thelist nil)

      (while (setq ent (ssname ss (setq idx (1+ idx))))

                (setq thelist (cons (vlax-ename->vla-object ent) thelist))

                )

      (createsurffromcontours thelist)

      )

    )

  (princ)

  ) 

0 Likes
Message 30 of 40

Sea-Haven
Mentor
Mentor

Ok look for TriangV0.6.7.lsp

0 Likes
Message 31 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

pit.jpgGood morning Sir,

  1. We prepare the pond / pit (grading) for un-limited depth ( horizon ) with  uniform width  benching for all sides. The lisp program was attached for your kind reference.

 

  1.  Our next requirement is to have same pit, with different bench width for required sides.
  2.   Then we have to make it as a tin surface.
  3. After that we have to cut the pit with our targeted surface.
  4. This all process will be done in single lisp program (like grading).
  5. Hence, I required your help
  6. For provide me variable 3d offset lisp program.
  7. DTM and TriangV0.6.7.lsp are not properly working.

 

Thanking you.

 

 

(defun dang (x / cosx) (setq cosx (cos x)) (if (/= cosx 0) (/ (sin x) cosx)))
(defun c:mspit()
(setq popt(getstring"\nDo you want change bench width at regular intervals(y/n) ? "))
(if (or (= popt "y") (= popt "Y")) (mypit2) (mypit1))
(princ)
)
(defun mypit1()
(initget 7)
(setq nn(getint "\nEnter proposed no. of benchs <1>: "))
(setq slp(getangle "\nEnter bench slope: "))
(setq ht(getint "\nEnter proposed bench height: "))
(setq pp(* ht (/ 1 (dang slp))))
(setq wi(getreal "\nenter proposed bench width: "))
(setq 1ln(entsel "\nPick the pit boundary...")
cp (getpoint "\nPick a point at the middle of the pit...")
ent(car 1ln)
elist(entget ent)
p1(assoc 10 elist)
);end of setq..........
(setq n 1)
(while (<= n nn)
(command "offsetfeature" pp 1ln cp (* ht -1.0) "")
(setq 2ln(entlast))
(command "offsetfeature" wi 2ln cp 0.0 "")
(setq 3ln(entlast))
(setq 1ln 3ln)
(setq n(+ n 1))
);while ends....
);mypit1 ends-------
(defun mypit2()
(initget 7)
(setq nn(getint "\nEnter proposed no. of benchs <1>: "))
(setq slp(getangle "\nEnter bench slope: "))
(setq ht(getint "\nEnter proposed bench height: "))
(setq pp(* ht (/ 1 (dang slp))))
(setq wi(getreal "\nenter proposed bench width: "))
(setq qq wi)
(setq bintval(getint "\nAfter every how many benches you want to change the width: ")
wii(getreal "\nEnter the proposed changed width: ")
)
(setq 1ln(entsel "\nPick the pit boundary...")
cp (getpoint "\nPick a point at the middle of the pit...")
ent(car 1ln)
elist(entget ent)
p1(assoc 10 elist)
);end of setq..........
(setq n 1)
(while (<= n nn)
(command "offsetfeature" pp 1ln cp (* ht -1.0) "")
(setq 2ln(entlast))
;-------------------------------------
(setq chk(rem n bintval))
(if (= chk 0) (setq qq wii))
(command "offsetfeature" qq 2ln cp 0.0 "")
(setq 3ln(entlast))
(setq 1ln 3ln)
(setq n(+ n 1))
(setq qq wi)
);while ends....
);mypit2 ends-------

0 Likes
Message 32 of 40

marko_ribar
Advisor
Advisor

@john.uhden 

For inside offset you could grab something already available on www.cadtutor.net :

https://www.cadtutor.net/forum/files/file/36-hipped-roof-routines/

 

But as far as I can see OP is searching for outside and something different - there are some additional stretchings, if my eyes don't fool me...

Marko Ribar, d.i.a. (graduated engineer of architecture)
0 Likes
Message 33 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning, sir,

The above pit lisp is creating equal offsetting for all sides by using command offsetfeature.

The Program was developing for Coal mines pit design.

 The above program with one commend saving us 2days work.

 

The sides of the pit contains different size benches.

In this case we required segment wise offsetting (variable 3d offset) commend.

For which we are searching  for different views to simply the program

Like new pond design in 2022 civil3d & new grading options

Further commends for volume calculation for depth range and tin preparation.

Thanking you sir.

0 Likes
Message 34 of 40

Sea-Haven
Mentor
Mentor

I still think its a CIVIL design task and Civ3 or another program should do it. For volumes you have not mentioned that this should blend with a existing surface, in saying that as it appears to be a continuous larger hole need to start somewhere and keep saving new surveyed surface, this is a typical open cut mine task and now with drones is much easier and more accurate to get existing surface. 

 

Last question do you have a existing CIV3D surface. With say inner boundary as pline 2d or 3d.

 

Once you establish  first 3d boundary lines then benching can be added. I had a quick go with Triang and had problems. It may need points rather than plines this can be done very easy.

 

For me I would make 1st bench an alignment adopt existing levels hang a new bench grade off it slope&width then edge with height, make 3d design strings into model, make the new edge an alignment rerun bench again repeat for as many as required the last run has a batter slope to blend to existing surface. Yes volumes existing v,s new.

 

Its what CIV3D or Civil Site Design were built for. You change the randomness of the benching longitudinally also.

0 Likes
Message 35 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

 Good morning Sir,

 

I am very thankful for your positive response.

  1. It is a inner 3d polyline only.
  2. Tin surface and volume calculation are not a big problem, afterwards that can be done with Civil3d,              please live it.
  3.  With our mspit lisp program we war able work out  75% of our goal, the same lisp program immensely using for our day to day work.

But  wherever  bench width changing takes on one side we have to do the same process second time.

For merging of these two sides  with joining and trimming of 3dpoly lines is becomes  laborious work.

 

  1. This laborious work, I want to reduce by using variable 3d offset or by segment of 3dpolyline offset method like "offsetfeature" commend.
  2. Your suggestions and effects helpful and grateful to our mining industry. 
  3. As per Kent1Cooper sir suggestion I have posted the same  at the >Product Feedback page< and/or the >Civil3D Ideas page<

                                                                           Thanking you sir   
0 Likes
Message 36 of 40

Sea-Haven
Mentor
Mentor

In Civil Site Design it has multiple features about changing template shapes for a road you can over-ride the default width / slope settings as you progress down an alignment, so it can be a simple edit to change say width of benching in a section, ie start, end chainage the remaining bench's are daisy chained to these changes so the next say 4 levels reflect the new widths, you can do this for any leg of a template having multiple changes throughout the task. This is a technique for bus bays or local road widening.

 

We designed roads with kerbs going all over the place left and right various offsets.

 

I used CIV3D but with CSD so some more experienced CIV3D users may be able to help with implementing over rides on road design cross sections. 

0 Likes
Message 37 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning sir,

I will try but i am also new for road design.

 

thanking you sir

0 Likes
Message 38 of 40

Sea-Haven
Mentor
Mentor

Post a link to this post in the CIV3D section here asking for help with designing benches using the road software.

0 Likes
Message 39 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

Good morning Sir,

 

The message was posted sir

 

https://forums.autodesk.com/t5/design-review/pond-pit-design/td-p/11320243

 

Thanking you sir.

0 Likes
Message 40 of 40

narasimharaoarza0211
Enthusiast
Enthusiast

 

 TimYarris
‎07-29-2022 09:54 AM

Hello,

Thank you for contacting me about this. As I started reading your thread, I was going to recommend you post it on the Civil 3D Ideas forum so other customers could vote on it. It appears as though you already have! 

The core requirement you specify is related (in spirit) to one we have under consideration on our public roadmap:

https://trello.com/c/oLYYpzk4

The object we're considering could accomplish the pond/pit with benching you seem to describe. We do not have it under development currently, but it is high on our list for the near future.

0 Likes