_

wyciąganie bloków z pliku

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

wyciąganie bloków z pliku

Postprzez martinika92 » sie 19, 2019 11:37

Cześć, mam do zrobienia następującą rzecz: mam rysunki z dużą ilością bloków i teraz muszę z każdego bloku zrobić oddzielny rysunek, czy można to zrobić automatycznie czy jedynym sposobem jest wklejanie każdego bloku z osobna do nowego rysunku i zapisywanie. Bardzo proszę o poradę, dzięki :)
martinika92
 
Posty: 3
Dołączył(a): mar 25, 2013 14:01

Re: wyciąganie bloków z pliku

Postprzez GekOn » sie 19, 2019 19:21

Ja bym zrobił tak:
Kod: Zaznacz cały
(DEFUN GKN>wblock ( / wBlkFilePath ssZbBlk basePath blkEffName blkNazDoneLst blkObj licz dlg)
   (setq basePath (strcat (getenv "temp") "\\" (rtos (getvar "CDATE") 2 6)))
   (vl-mkdir basePath)

   (setq ssZbBlk (ssget "_X" '((0 . "INSERT"))))

   (setq dlg (sslength ssZbBlk))
   (setq licz 0)
   (While (< licz dlg)
        (setq blkEnt (ssname ssZbBlk licz))
      (setq blkObj (vlax-ename->vla-object blkEnt))
      (if (vlax-property-available-p blkObj 'effectivename)
         (setq blkEffName (vlax-get-property blkObj 'effectivename))
         (setq blkEffName (vlax-get-property blkObj 'name))
      );_IF
      
      (IF (not (member blkEffName blkNazDoneLst))
         (progn
            (setq wBlkFilePath (strcat basePath "\\" blkEffName ".dwg"))
            
            (command "_.-wblock" wBlkFilePath)
            (IF (equal 1 (logand 1 (getvar "cmdactive")))
               (command  "" "0,0" blkEnt )
            );_IF   
            (while (equal 1 (logand 1 (getvar "cmdactive")))
               (command "")
            );_While            
            
            (setq blkNazDoneLst (cons blkEffName blkNazDoneLst))
         );_progn
      );_IF

        (setq licz (+ licz 1))
   );_while
   
   (startapp "explorer.exe" basePath)
);_DEFUN

(GKN>wblock)


Testowane tylko trochę, ale z powodzeniem :)
GekOn
www.gekoncad.pl | www.warancad.pl
GekOn
 
Posty: 24
Dołączył(a): sty 26, 2017 21:05

Re: wyciąganie bloków z pliku

Postprzez martinika92 » sie 20, 2019 08:58

Dzięki :) ale chyba jestem zbyt mało zaawansowana bo nie mam pojęcia co mam z tym zrobić :) jakieś wskazówki?
martinika92
 
Posty: 3
Dołączył(a): mar 25, 2013 14:01

Re: wyciąganie bloków z pliku

Postprzez GekOn » sie 20, 2019 16:51

martinika92 napisał(a):co mam z tym zrobić

No to tak:
1. Zapisać zawartość do pliku LSP - np.: c:\test.lsp
2. W CADzie w linii poleceń wkleić taki ciąg (z nawiasami): (load "c:\\test.lsp")
3. I jeśli nie używasz CADa LT to powinno zadziałać.
GekOn
www.gekoncad.pl | www.warancad.pl
GekOn
 
Posty: 24
Dołączył(a): sty 26, 2017 21:05

Re: wyciąganie bloków z pliku

Postprzez Kuracki » sie 21, 2019 14:54

Gdzie jest kodżak dlaczego się nie ujawnia w takich palących lispowych problemach. Czy może jeszcze nie znalazł podobnego w internecie
Kuracki
 
Posty: 11
Dołączył(a): gru 07, 2018 10:56


Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników