Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/17/2023 in all areas

  1. this is more and more looking like my life's work I think this all depends on how the data is presented is your csv list. Normally a clamp is shown as {clamp GP clamp} so it would be possible to change that to [clamp GP GP clamp} to handle your second image. But for your first image... i dunno... you would have to introduce a new type of clamp because when routine reads {clamp} it goes into special mode and keeps on reading until the word clamp appears again and treats it as one unit. So the entire symbol would have to consist of a horizontal clamp plus a vertical clamp with a bottom and a right GP , all in one special symbol. Current routine can't handle snake within a snake. As for the overlapping , I updated attributes to mtext attributes previously but I think it probably needs a space to start a new line. Else you need (as I used before) attribute with type 'fit' and that will work but short names will get stretched out and that also doesn't look pretty. I don't think its realistic that routine will ever be able to handle every situation you throw at it , human intervention will always be needed (if it could handle everything you would be out of a job...)
    2 points
  2. Thank you guys for your all help and examples. I think i have better idea how to put this together now.
    1 point
  3. I know my boss is going to ask me tomorrow "So these LISPs, can they do everything?" RLX this is looking very good
    1 point
  4. What's the rest of your computer specifications?
    1 point
  5. It is working perfectly well... Autocad just makes it so easy to go outside the lines with multiple ways and back doors to change things. Users who don't know what they are doing find a way to modify things that make standardization difficult to maintain. I am so grateful for this. This was a holy grail routine for me. Thank you! Thank you! Thank you!!
    1 point
  6. Here is another routine for the second one although the mods are a little, so hopefully you can learn something from these posted two routines. (defun c:Test ( / str len int sel ent get txt lng ) ;;----------------------------------------------------;; ;; Author : Tharwat Al Choufi ;; ;; website: https://autolispprograms.wordpress.com ;; ;;----------------------------------------------------;; (setq str "XYZ" len (strlen str) ) (and (princ (strcat "\nSelect text to replace the end chars with < " str " > : ")) (setq int -1 sel (ssget "_:L" '((0 . "TEXT,MTEXT")))) (while (setq int (1+ int) ent (ssname sel int)) (setq get (entget ent) txt (assoc 1 get) ) (and (<= len (setq lng (strlen (cdr txt)))) (entmod (subst (cons 1 (strcat str (substr (cdr txt) 1 len))) txt get)) ) ) ) (princ) )
    1 point
  7. This is to replace the end chars of selected texts. NOTE: Be sure to have your selected Mtexts objects unformatted. (defun c:Test ( / str len int sel ent get txt lng ) ;;----------------------------------------------------;; ;; Author : Tharwat Al Choufi ;; ;; website: https://autolispprograms.wordpress.com ;; ;;----------------------------------------------------;; (setq str "6789" len (strlen str) ) (and (princ (strcat "\nSelect text to replace the end chars with < " str " > : ")) (setq int -1 sel (ssget "_:L" '((0 . "TEXT,MTEXT")))) (while (setq int (1+ int) ent (ssname sel int)) (setq get (entget ent) txt (assoc 1 get) ) (and (<= len (setq lng (strlen (cdr txt)))) (entmod (subst (cons 1 (strcat (substr (cdr txt) 1 (- lng len)) str)) txt get)) ) ) ) (princ) )
    1 point
×
×
  • Create New...