Recent Posts

Pages: [1] 2 3 ... 10
1
Bonjour

Ok with Lee Mac.
But, sometimes this is not working and strangely, it worked with this combination of keys CTRL+Pause

Amicalement
2
CAD General / www.70pv.com915515538@qq.com
« Last post by bngvbvezvj on Today at 01:07:50 AM »
www.45ur.com776356990@qq.com81keysOL
 
23

OL2
RO

(Heat Project)OL

OL
OL
Mu

OL
(OL)dnf

=+++++++7*24 ,,,,,+=(DDOS+SYNCCDB),:+++!
3
AutoLISP (Vanilla / Visual) / Re: Extract Default Page Setup Error
« Last post by BIGAL on June 15, 2024, 07:25:08 PM »
Have you looked at Accoreconsole it will zoom across multiple dwg's changing things as it works on the database so does not open the dwg. It does though have some not work functions, like no user input and some VLA functions.

1st step is to make sure your lisp works. You can use a Bat file to process a directory in one go. Handy maybe for new projects.
4
AutoLISP (Vanilla / Visual) / Re: Extract Default Page Setup Error
« Last post by stevej on June 15, 2024, 02:17:20 PM »
5
Hello,
        I wonder if there is a way with lisp code to create FeatureLine from Alignment something like this "(vlax-invoke flines 'addfrompolylineex obj style)" - this is to create FL from polyline. If anyone knows where I can read about methods like addfrompolylineex will be helpful too.
6
AutoLISP (Vanilla / Visual) / Extract Default Page Setup Error
« Last post by RayG2261 on June 14, 2024, 10:11:26 AM »
Greetings- as promised in my Intro Post- I am curious about this routine. I am trying to figure a way to extract the Default Page Setup for multiple dwg files in a directory. It is not available in any Data Extraction command in Acad. Yes, I have a lsp setup in the acaddoc that will delete old Page Setups and bring in the correct Setups from a standard dwg located on the Network. I also have a routine that I use in ScriptPro that will set a particular Page Setup to multiple dwgs in a directory. However- on occasion, if we receive a file from a vendor or similar, or a rogue block contains an oddball Page Setup it can change the default Setup. So... I have asked around (mostly in that Cad Managers FB page) to see if anyone knew of such a routine. I basically got the suggestions that I listed above: acaddoc, Template stuff, etc... But that isn't what I was looking for. And using the ScriptPro takes 10-30 seconds per dwg to go through the routine. I just want to pick a list of dwgs, get the Default Page Setup, open the file and change the default. As I said, I am in no way a lsp'er, so I took the plunge into ChatGPT and asked if it could write one. The first effort was a disaster, btw. I rephrased the second attempt and did get something of a result. It opened up a file window, DID allow me to choose a file (not multiple), but it returned the "Too Many Arguments" error. That means nothing to me, other than it doesn't work. In a nutshell, I would like to be able to pick multiple files and have it generate a list (txt is fine) of the default Page Setups. (I hope I don't get shunned for using the ChatGPT thingee) Thanks...

Here is what ChatGPT wrote:

(defun c:ExtractPageSetup ()
  (setq dwglist (getfiled "Select drawings to extract page setup" "" "dwg" 4))
  (if dwglist
    (progn
      (setq pageSetupList nil)
      (foreach dwg dwglist
        (setq doc (vla-open (vla-get-documents (vlax-get-acad-object)) dwg))
        (setq layout (vla-get-layouts doc))
        (setq count (vla-get-count layout))
        (setq pageSetups '())
        (vlax-for lyt layout
          (if (= (vla-get-Objectname lyt) "AcDbLayout")
            (progn
              (setq name (vla-get-name lyt))
              (setq pageSetup (vla-get-PageSetup lyt))
              (setq pageSetups (cons (list name pageSetup) pageSetups))
            )
          )
        )
        (setq pageSetupList (cons (cons dwg pageSetups) pageSetupList))
        (vla-close doc)
      )
      (setq outFile (getfiled "Save page setup data to" "" "txt" 1))
      (if outFile
        (progn
          (setq outF (open outFile "w"))
          (foreach dwgData pageSetupList
            (setq dwg (car dwgData))
            (write-line (strcat "Drawing: " dwg) outF)
            (setq pageSetups (cdr dwgData))
            (foreach ps pageSetups
              (setq name (car ps))
              (setq setup (cdr ps))
              (write-line (strcat "Layout: " name) outF)
              (write-line (strcat "Paper size: " (vla-get-Papersize setup)) outF)
              (write-line (strcat "Plot origin: " (strcat (rtos (car (vla-get-Plotorigin setup))) 2 2) ", " (strcat (rtos (cadr (vla-get-Plotorigin setup)) 2 2))) outF)
              (write-line (strcat "Plot rotation: " (rtos (vla-get-Plotrotation setup)) 2 2) outF)
              (write-line "" outF)
            )
          )
          (close outF)
          (alert "Page setup data extracted successfully.")
        )
      )
    )
  )
  (princ)
)
7
If you have VLIDE open, you can go to Debug > Abort Evaluation; otherwise, try Ctrl+C.
8
CAD General / lisp ssget on script not working
« Last post by MarioR on June 14, 2024, 02:49:25 AM »
Hello,

i will use an lisp "ssget" for script ('#' == space on lineend):
Code: [Select]
_explode (ssget "_X" '((0 . "INSERT")))#
On normal commandline it works, but in script is not working.

why?

regards Mario
9
AutoLISP (Vanilla / Visual) / Breaking an infinite Loop other than ctrl-alt-del.
« Last post by damn on June 13, 2024, 09:06:54 PM »
Damn!

I'm stuck in a loop, haven't for saved 1.5hrs stupid me....yeah yeah, save early save often.  I don't want to lose my latest updates.
Any other way other than ctrl-alt-del?

Damn.
10
Hi. I  update the code to select automatic more than one polylines in layer1. I test it and work fine but in this example  give me this error (look the dwg file)

Code: [Select]
Error: incorrect type - nil
Can any one help?

Code - Auto/Visual Lisp: [Select]
  1. (defun c:changeInsidePolys (/ EDATA LSTPOLSINSIDE POLSS SSPOLSINSIDE VPOL VTX)
  2.   (if
  3.     (setq Polss (ssget "_X" '((0 . "LWPOLYLINE") (8 . "layer1") (70 . 1))))
  4.     (progn
  5.       (foreach pl (vl-remove-if 'listp (mapcar 'cadr (ssnamex Polss)))
  6.         (setq edata (entget pl))
  7.         (setq vtx (massoc 10 edata))
  8.         (setq ssPolsInside
  9.           (ssget "CP"
  10.             vtx
  11.             '((0 . "LWPOLYLINE") (8 . "layer2") (70 . 1))
  12.           )
  13.         )
  14.         (setq LstPolsInside
  15.           (vl-remove-if 'listp (mapcar 'cadr (ssnamex ssPolsInside)))
  16.         )
  17.         (foreach pol LstPolsInside
  18.           (if (and (inside_p (mu:centroide (setq vpol (massoc 10 (entget pol))))
  19.               vtx
  20.             )
  21.             (setq  ssPolsInside
  22.               (ssget  "WP"
  23.                 vpol
  24.                 '((0 . "*TEXT") (8 . "layer3"))
  25.               )
  26.             )
  27.           )
  28.             (progn
  29.               (if (= (tblsearch "layer" "BLD") nil)
  30.                 (command "_layer" "_m" "BLD" "_c" "10" "" ""))
  31.               (vla-put-layer (vlax-ename->vla-object pol) "BLD")
  32.               (vla-put-layer
  33.                 (vlax-ename->vla-object (ssname ssPolsInside 0))
  34.                 "BLD"
  35.               )
  36.             )
  37.           )
  38.         )
  39.       )
  40.     )
  41.       (prompt (strcat "\n No layer1 found."))
  42.   )
  43.   (princ)
  44. )
  45.  


Thanks
Pages: [1] 2 3 ... 10