Jump to content

Recommended Posts

Posted

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.

  • Like 1
Posted

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)

 

  • Like 1
Posted

thank you guys....

my apologies, but as per attached is what i want to achieve.

 

cheers.

sample.jpg

  • Like 1
Posted

Then do something that mimics a wipeout ?

  • Like 1
Posted
14 hours ago, mugshot said:

thank you guys....

my apologies, but as per attached is what i want to achieve.

 

cheers.

sample.jpg

Something like so:

 

2020-11-06_10-13-12.png

Drawing1.dwg

  • Like 1
Posted

As per PM

 

If a spline explode then pedit and rejoin all the segments then do a wipeout use polyline keep outline.

image.png.ab35f38d1bdbbdc1dec15cfe03024852.png

 

  • Like 1
  • 2 months later...
Posted

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

 

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