Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD Strona Główna Forum użytkowników programów ZWCAD, KOMPAS-3D, Scan2CAD, PDF2CAD
Forum CAD.

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj

Poprzedni temat «» Następny temat
bloki z atrybutami
Autor Wiadomość
Jason 

Pomógł: 4 razy
Dołączył: 25 Sty 2011
Posty: 33
Wysłany: Pon Lut 07, 11 08:53   

vla-insertblock bym zrobil tak. troche bardziej uniwersalne (model, papier)
wstawia rowniez bloki nie znajdujace sie w rysunku (musza byc na sciazce)
Kod:
; ============================================================ ;
; Insert block                                                 ;
;   Name   [STR] - block name or drawing name (support path)   ;
;   InPt  [LIST] - insertion point (3D point)                  ;
;   X     [REAL] - X scale factor                              ;
;   Y     [REAL] - Y scale factor                              ;
;   Z     [REAL] - Z scale factor                              ;
;   Rot   [REAL] - angle of rotation in radians                ;
; ------------------------------------------------------------ ;
; (kr:BLK_InsertBlock "ldef" '(0 0 0) 1 1 1 0)                 ;
; ============================================================ ;
(defun kr:BLK_InsertBlock (Name InPt X Y Z Rot)
  (vl-catch-all-apply
   'vla-InsertBlock
    (list
      (vlax-get-property
        (vla-get-ActiveDocument
          (vlax-get-acad-object)
        )
        (if (= 1 (getvar 'CVPORT))
          'PaperSpace
          'ModelSpace
        )
      )
      (vlax-3d-point InPt)
      (if (tblsearch "BLOCK" Name)
        Name
        (findfile (strcat Name ".dwg"))
      )
      X Y Z Rot
    )
  )
)

j.
 
     
Tomasz79 
ZwCad, Arcadia

Pomógł: 1 raz
Dołączył: 25 Lis 2008
Posty: 35
Wysłany: Pon Lut 07, 11 10:03   

Dzięki wielkie za pomoc.
Męczę te bloki, ponieważ napisałem program, który wstawia bardzo dużą ilość bloków (czasami można liczyć je w tysiącach) i przez "command" i "insert" w zwcad-dzie wstawianie ich trwa wieki (intelicadzie z InterSOFT-u troszkę szybciej).
Testowałem wstawianie takiej dużej ilości bloków bez atrybutów omawianą wyżej techniką trwa o 1/3 szybciej, więc męczarnie nad optymalizowaniem kodu raczej się opłacają.

Jak ktoś będzie chciał mieć program do odczytywania wyników obliczeń zbrojenia płyty w programie PLATO (z InterSOFT-u) to proszę pisać do mnie to udostępnię aktualną wersję napisaną w LISP-ie.
Tej mojej metody nawet InterSOFT nie znał do póki mu nie pokazałem. Dodam jeszcze, że nie jest to zgrywanie wyników w formacie DXF czy MBA zupełnie coś innego.

Kawałek funkcjonalności programu:
http://www.tomaszjankowski.webpark.pl/plato2.htm

Z optymalizacją kodu jeszcze trochę mi zejdzie bo coraz to więcej człowiek się uczy tego LISP-a, a kiedy pisałem program to dopiero raczkowałem z LISP-em.
Pozdrawiam Tomasz Jankowski
_________________
Użytkownik ZwCad+dodoatki oraz Arcadii-Architektura+dodatki
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group - opowiadania
Strona wygenerowana w 0,2 sekundy. Zapytań do SQL: 10