Jump to content

Offset curve and connect end points (with option to convert to LWPolyline)


alanjt

Recommended Posts

I was sick of offsetting my wall, connecting each end with a line, then PEdit'ing everything, so I scratched this out...

 

oc.PNG

Link to comment
Share on other sites

Reminds me of good ol' AutoWalls :)

 

What happened to those links anyway?

 

Bah! That's almost what I was shooting for too! I would have been really depressed if it accomplished the same thing. Excellent idea to link it. :) How'd you come across that one?

 

I've got another one I wrote a year or so ago that will take an LWPolyline and create 4 lines (connected to create an LWPolyline) based on the width of the original selected LWPolyline.

 

In regards to the links, I had David remove the two threads. They had become a jumbled unorganized mess. My original intent was to share them and easily be able to grab link to a needed subroutine (so I wouldn't have to post the same subs over and over). It just became a pain and subs were old. I'll still share them, I think I'll just follow what everyone suggested and post a ZIP of them. In truth, I wasn't thinking when I asked him to remove the thread with random macros/routines; that was pure accident.

Link to comment
Share on other sites

Bah! That's almost what I was shooting for too! I would have been really depressed if it accomplished the same thing. Excellent idea to link it. :) How'd you come across that one?

 

Luis was discussing it with me a while back in an email, and your routine just sparked it in my memory :)

 

In regards to the links, I had David remove the two threads. They had become a jumbled unorganized mess. My original intent was to share them and easily be able to grab link to a needed subroutine (so I wouldn't have to post the same subs over and over). It just became a pain and subs were old. I'll still share them, I think I'll just follow what everyone suggested and post a ZIP of them. In truth, I wasn't thinking when I asked him to remove the thread with random macros/routines; that was pure accident.

 

Fair enough, I was just curious really - I thought you'd removed them through annoyance of people removing headers from code... o:)

Link to comment
Share on other sites

Luis was discussing it with me a while back in an email, and your routine just sparked it in my memory :)

Such a nice guy.

 

Fair enough, I was just curious really - I thought you'd removed them through annoyance of people removing headers from code... o:)

I hadn't even thought about that. Have you seen it happen to something of mine? I've been in threads where someone posted your work as theirs. Tim had the worst one a year ago when a guy changed all the variables (prefixed them with "Sweet_" and claimed the code as his own. Posted it here asking questions how to 'make an addition he couldn't figure out how to do'.

Link to comment
Share on other sites

I hadn't even thought about that. Have you seen it happen to something of mine? I've been in threads where someone posted your work as theirs. Tim had the worst one a year ago when a guy changed all the variables (prefixed them with "Sweet_" and claimed the code as his own. Posted it here asking questions how to 'make an addition he couldn't figure out how to do'.

 

I haven't seen it happen to you - you'll remember it happened to me, but yes, I remember that time with Tim distinctly - that was a while back now ...

Link to comment
Share on other sites

It's an advantage of having less popular stuff. :wink:

 

Dude, you being a drafter, you're stuff is probably much more useful than mine :)

Link to comment
Share on other sites

Dude, you being a drafter, you're stuff is probably much more useful than mine :)

Nah, my stuff is so specific. Not why I post though. I'm sure a lot of what is posted is never looked at. However, excluding filling a random request, my code is written to benefit me or the guys I work with. I only share it because I can, maybe someone else can benefit from it and it's my way of repaying the community for helping me when I first started out.

Link to comment
Share on other sites

I'd love to be in that position. Where I used to work, the guys were very stuck in their ways and wouldn't even try a LISP routine - so I got quite peeved when I started to learn LISP, that the codes that could benefit the workflow weren't even being considered. So when asking for help on here, and finding that people on here were so thankful of the code posted (most of the time), I kept it up. So, now that I am at uni, I just write the code for enjoyment, and hope that someone can make a use of it. :)

Link to comment
Share on other sites

  • 4 weeks later...

hi,

 

it's me again, your collections of routine are really helpful. and this one similar to what i need. can you or anyone modify it for me. attached is a photo of what exactly output i want a routine to give me.

offsett.jpg

 

and here is also a similar routine i'm using at the moment. i

just found it in some website, i can't remember where, but no modification made, i use it as is. it offset both side and delete the original. need to give half of the required thickness, and connect & join it manually.

tnx.

i acknowledge the author of this, whoever you are.

;****************************************************************************
;From the Desk of PAUL STANDING                    
;
;         
;
;                   
;
; DOUBLE OFFSET DOF.lsp vs 1.0 March 28 1996 
; Function creates an offset to either side of the selected entity
; and erases the original.
;       
;       
;
;
;*****************************************************************************
(defun c:DOF (/ a b b1 p1 d pckbox)
(setq d 20 p1 nil pee (/ pi 2)e 3 pckbox (getvar "pickbox")line "                               ")
(if(= #parof nil)(setq #parof(/(getvar "viewsize")10)))
(princ "\nCurrent offset <")(princ #parof)
(setq answer(getstring ">: "))
(if (/= (atof answer) 0.0)(setq #parof(atof answer)))

   (princ line)
   (setvar "pickbox" pckbox)
   (setq ent(entsel "\nPick the line: "))
   (setvar "pickbox" 2)
   (setq point(cadr ent))
   (princ line)
       (setq side(getpoint "\nPick an offset side: "))
   (setq dist(distance side point))(setq ang(angle side point))
   (if(or(or(< ang 0.78)(> ang 5.5))(and(> ang 2.35)(< ang 3.92)))
       (setq ang(- 0 ang))(setq ang(- pi ang))
   );end if
   (setq other(polar point ang dist))
   (command "offset" #parof ent side ent other "")
       (entdel(car ent))

(setvar "pickbox" pckbox)
(prin1)
)
(Prompt "\nType DOF to envoke the command")

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...