Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/15/2022 in all areas

  1. Yep have that plus other stuff like rotate point. Yes for CIV3D cogo point. Also have a set surface style as a toolbar rather than using toolspace. Wrong one redid icons but gives you an idea. The black square is off. Civ3d Change point label style.lsp CIV3D point edit desc.lsp CIV3D Rotate point.lsp CIV3D create point.lsp CIV3D change point style.lsp Civ3d Change text style in labels.lsp CIV3D pt ht.lsp
    2 points
  2. Hi, the lisp, anticipated with two images here and here, aligns between two curves the hatch elements and creates a block containing the lines of the new geometry. The original shape of the hatch shall be a rectangle, an isosceles triangle or an isosceles trapezoid. In case of large hatches is recommended to divide it into portions, any case it is better to try with small hatches to verify the time required for processing, in according to PC performances, too. Not all hatches are suitable for processing. I hope it works well and there are no problems. AlignH.lsp
    1 point
  3. Agree ... here is a quick one. Definitely test it as it can be fooled by solids with 'equal' volume at different locations. Changed algorithm to be more reliable albeit slower. (defun c:foo (/ a b o r s) (cond ((setq s (ssget "_X" '((0 . "3DSOLID")))) (foreach e (mapcar 'cadr (ssnamex s)) (setq r (cons (list (vla-get-volume (setq o (vlax-ename->vla-object e))) (vlax-get o 'centroid) e) r ) ) ) (setq r (vl-sort r '(lambda (r j) (< (car r) (car j))))) (while (setq a (car r)) (setq r (cdr r)) ;; Slower but more reliable (setq b (vl-remove-if-not '(lambda (x) (and (equal (car a) (car x) 1e-4) (equal (cadr a) (cadr x) 1e-4))) r ) ) (foreach x b (entdel (last x)) (setq r (vl-remove x r))) ;;; (while (and (setq b (car r)) (equal (car a) (car b) 1e-4) (equal (cadr a) (cadr b) 1e-4)) ;;; (entdel (last b)) ;;; (setq r (cdr r)) ;;; ) ) ) ) (princ) )
    1 point
  4. Thank goodness AutoDesk did not design AutoCAD such that we could work smarter rather than harder. Were the pages of instructions you posted not clear enough?
    1 point
  5. I'm not sure, but Overkill might do it?
    1 point
  6. @bastythe following 2D geometry was created by sweeping a circle along a helix and then using rotate3d to get to a desired orientation before using flatten to make it 2D.
    1 point
  7. Draw it in 3D then extract the 2D views.
    1 point
  8. No problem Lee's code works with dwg, dwt or dws files. Andi provided a dwg file to use but I usually use my default dwt file as it's path is already saved in an environmental variable and simplest to reference.
    1 point
  9. Still think you should give it a simple descriptive name like "Red→0.6 h0.5" so it will make more sense to other users who open the drawing. Later you may have a few Dimension Styles to chose from and it will help you pick the right one.
    1 point
  10. Yup you are right, here is the revised one to increment down on Y direction. (defun c:Test (/ int sel ent get lst fun str tmp ltr pre key opr) ;;----------------------------------------------------;; ;; Author : Tharwat Al Choufi ;; ;; website: https://autolispprograms.wordpress.com ;; ;;----------------------------------------------------;; (and (or (initget "X Y") (setq key (getkword "\nSpecify direction of attributed blocks to increment alphabatically [ X / Y ] : ")) ) (setq pre (getstring "\nSpecify prefix with letter at the end : ")) (or (or (<= 65 (ascii (setq ltr (strcase (substr pre (strlen pre))))) 90) (= "" pre) ) (alert "Prefix must end with letter <!>") ) (princ "\nSelect Attributed blocks < tert > : ") (setq str pre int -1 sel (ssget "_:L" '((0 . "INSERT") (2 . "tert") (66 . 1)))) (while (setq int (1+ int) ent (ssname sel int)) (setq get (entget ent) lst (cons (list (cdr (assoc 10 get)) ent) lst) ) ) (if (= key "X") (setq fun car opr <) (setq fun cadr opr >) ) (mapcar (function (lambda (obj) (setq pre str obj (cadr obj)) (while (/= (cdr (assoc 0 (setq get (entget (setq obj (entnext obj)))))) "SEQEND") (entmod (subst (cons 1 (setq pre (strcat pre ltr))) (assoc 1 get) get)) ) (if (<= 65 (setq tmp (1+ (ascii ltr))) 90) (setq ltr (chr tmp)) (setq str (strcat str "Z") ltr "A") ) ) ) (vl-sort lst (function (lambda (j k) (opr (fun (car j)) (fun (car k))))))) ) (princ) ) (vl-load-com)
    1 point
  11. Try Lee "CopyRenameBlock" http://www.lee-mac.com/copyblock.html
    1 point
×
×
  • Create New...