Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/20/2024 in all areas

  1. TRIM select all, Enter, pick pick pick all done.
    2 points
  2. Try this, I have reset the radius as T/3 is not suitable. ; https://www.cadtutor.net/forum/topic/78583-single-pline-to-multi-line-with-radiusstart-and-end-close/ (defun c:test ( / bar barsz ent ent1 ent2 ent3 ent4 off1 off2 st1 st2 end1 end2 obj) (setq bar (list "Please choose" "6" "8" "10" "12" "14" "16" "18" "20" "22" "25" "28" "32" "36" "40")) (if (not AH:Butts)(load "Multi Radio buttons.lsp")) (setq barsz (atof (ah:butts 1 "v" bar))) (setq ent (car (entsel "\nChoose bar pline "))) (setq obj (vlax-ename->vla-object ent)) (setq oldsnap (getvar 'osmode)) (setvar 'osmode 0) (setvar 'filletrad (* barsz 4)) (command "fillet" "P" ent ) (vla-offset obj (/ barsz 2.0)) (setq ent1 (entlast)) (setq off1 (vlax-ename->vla-object ent1 )) (vla-offset obj (- (/ barsz 2.0))) (setq ent2 (entlast)) (setq off2 (vlax-ename->vla-object ent2)) (setq st1 (vlax-curve-getstartPoint off1)) (setq end1 (vlax-curve-getEndPoint off1)) (setq st2 (vlax-curve-getstartPoint off2)) (setq end2 (vlax-curve-getEndPoint off2)) (command "line" st1 st2 "") (setq ent3 (entlast)) (command "line" end1 end2 "") (setq ent4 (entlast)) (command "pedit" ent1 "Join" ent3 ent2 ent4 "" "exit") (entdel ent) (setvar 'osmode oldsnap) (princ) ) (c:test)
    2 points
  3. https://www.cadtutor.net/forum/files/file/20-multi-radio-buttonslsp/ Download and install it in the folder where lisp is located... (if (not AH:Butts)(load "Multi Radio buttons.lsp")) Multi radio buttons-2.lsp change to Multi radio buttons.lsp
    1 point
  4. https://cadtips.cadalyst.com/linear-objects/polyline-diet One by ribarm at https://www.theswamp.org/index.php?topic=58030.0 (marko_ribar on CADTutor) Also a LISP called Weed. https://cadtips.cadalyst.com/linear-objects/weed-r13-polylines
    1 point
  5. If you had wanted the delta-y of the second two lines to be 1, then the delta-y of the 0 angle line would have to be (4 divided by the square root of 2) instead of 1.
    1 point
  6. The mathematics are (Square root of 2) divided by 4. It is the perpendicular distance between the 45 degree lines, based on the horizontal lines being 1 unit apart. Delta-y is always measured perpendicular to the line being defined. Perhaps my diagram of the pattern data may help. The delta-y is labelled "e"
    1 point
  7. 1 point
  8. looking for Cookiecutter -edit just don't use it on 3d polylines
    1 point
  9. Here's another approach - (defun c:test ( / elv ent enx ) (cond ( (not (setq ent (car (entsel))))) ( (/= "LWPOLYLINE" (cdr (assoc 0 (setq enx (entget ent))))) (princ "\nObject is not a polyline.") ) ( t (setq elv (list (cdr (assoc 38 enx)))) (foreach x (getcorners ent) (entmake (list '(0 . "POINT") (cons 10 (trans (append x elv) ent 0)))) ) ) ) (princ) ) (defun getcorners ( ent / enx lst pnt rtn ) (setq enx (entget ent) lst (mapcar 'cdr (vl-remove-if-not '(lambda ( x ) (= 10 (car x))) enx)) ) (if (< (length lst) 3) lst (progn (setq rtn (list (cadr lst) (car lst)) lst (cddr lst) ) (while (setq pnt (car lst)) (while (and (cadr rtn) (LM:collinear-p pnt (car rtn) (cadr rtn))) (setq rtn (cdr rtn)) ) (setq rtn (cons pnt rtn) lst (cdr lst) ) ) (setq rtn (reverse rtn)) (if (and (= 1 (logand 1 (cdr (assoc 70 enx)))) (LM:collinear-p (last rtn) (car rtn) (cadr rtn)) ) (setq rtn (cdr rtn)) ) rtn ) ) ) ;; Collinear-p - Lee Mac ;; Returns T if p1,p2,p3 are collinear (defun LM:Collinear-p ( p1 p2 p3 ) ( (lambda ( a b c ) (or (equal (+ a b) c 1e-8) (equal (+ b c) a 1e-8) (equal (+ c a) b 1e-8) ) ) (distance p1 p2) (distance p2 p3) (distance p1 p3) ) ) (princ)
    1 point
  10. Have you come across Fields at all? The use of a field here would allow you to set a polyline outline, and associate a piece of text with that polyline. The text would show the area. This would update as the polyline changes because the bloody client's changed their mind yet again!! (If you're interested in this resaponse I can help you set it up) dJE
    1 point
×
×
  • Create New...