Jump to content

wipe out


mugshot

Recommended Posts

hello

its been years since i visit the site, and hope you guys could help me.

is there a lisp here that could create an wipeout between two object by clicking in between?

say a circle inside a rectangle, creating a wipeout by simply clicking inside the rectangle and automatically creates a wipeout on the circle...

 

im looking for a lisp for it to make a wipeout like sofas, chair, etc without going to trace the object.

 

thank you in advance and Keep safe everyone.

Link to comment
Share on other sites

In the case of overlapping objects, if you bpoly the area then you can pull it apart and replace the arcs/bulge with short straights, some one a bit smarter than me may have something I only have the arch 2 chords part. You can pick the pline for the wipeout.

 

image.thumb.png.b9ed639b9a1dc04c5fc64f0b8ed8c1ef.png

 

; converts an arc or circle to a series of straights
; By alan H 2012
; info@alanh.com.au

(vl-load-com)
(defun C:arc2chords ( / ss ncrd oldsnap ent endpt obj totlen arclen chrdpt num newpt ang cenpt)
(setq oldsnap (getvar "osmode"))

(if (= ncrd nil) (setq ncrd (getint "\nEnter number of chords: ")))
(setvar 'osmode 512)

(while (setq pt (getpoint "Pick Arc or Circle"))
(setq ss (ssget pt (list (cons 0 "Arc,Circle"))))
(setq obj (vlax-ename->vla-object (ssname ss 0 )))

(if (= "AcDbArc" (vla-get-objectname obj))
(progn
(setq  endpt (vlax-curve-getEndPoint obj))
(setq totlen (vla-get-ArcLength obj))
(setq arclen (/ totlen ncrd))
(setq chrdpt (vlax-curve-getStartPoint obj))
(setq num 1)
(command "_Pline" )
(while (= (getvar "cmdactive") 1 ) 
(command chrdpt)
(repeat ncrd
(command (vlax-curve-getPointatDist obj (* arclen num)))
(setq num (+ num 1))
)
(command endpt)
(command "")
)
)
)

(if (= "AcDbCircle" (vla-get-objectname obj))
(progn
(setq rad (vla-get-radius obj))
(setq cenpt (vlax-safearray->list (vlax-variant-value (vla-get-center obj))))
(setq totlen (* pi (* 2.0 rad)))
(setq ang  (/ (* pi 2.)  ncrd))
(setq chrdpt (polar cenpt 0.0 rad))
(setq num 1.0)
(command "_Pline" )
(while (= (getvar "cmdactive") 1 ) 
(command chrdpt)
(repeat ncrd
(command (polar cenpt (* num ang) rad))
(setq num (1+ num))
)
(command "c")
)
)
)
(setvar "osmode" oldsnap)
)
(princ)
)
(c:arc2chords)

 

Link to comment
Share on other sites

  • 2 months later...

hello...

its been awhile, i tried sort of thing, but it didnt work.

 

maybe my description wad blurry.

i found out that what i seeking is BOUNDARY, but instead of a boundary line, it will be automatically a converted to wipeout.

 

is there a lisp like that?

 

thanks...

cheers

 

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