Przejdź do głównej treści

Edycja elementów będących w bloku

Ten skrypt pozwala na prostą edycje dowolnych bloków.

 

Edycja w bloku

 

Polecenie do uruchomienia skryptu LISP: ByBlockInBlock

 

Kod źródłowy z opisem

 

;;; Edycja bloku
;;; zwcad.pl
;;; Polecenie do uruchomienia skryptu LISP: ByBlockInBlock
;;; Opis: https://www.zwcad.pl/materialy-edukacyjne/kurs-lisp/przyklady-lisp/184-edycja-elementow-bedacych-w-bloku.html
(vl-load-com)
(setq *ZWCAD* (vlax-get-acad-object))
(setq *Rysunek* (vla-get-activedocument *ZWCAD*))
(setq *Model* (vla-get-Modelspace *Rysunek*))
(defun C:ByBlockInBlock ( / )
;----------------------------------------------------------
; funkcja zmienia właściwości elementów wewnątch bloku na ByBlock
; Argumenty: nil
; Wynik: nil
;----------------------------------------------------------
(setq Wybor (entsel "Wskaż blok") ) ; funkcja prosi Użytkownika o wskazanie jednego narysowanego
; elementu Zwraca listę: wybrany element i współrzędne klikniętego punktu
(setq Wybrany_obj(vlax-ename->vla-object (car Wybor))) ;Zamiana wskazania na właściwy objekt
(setq Bloki (vlax-get-property *Rysunek* 'Blocks ))
(setq Definicja(vlax-invoke-method Bloki 'Item (vlax-get-property Wybrany_obj 'Name )) )
; odczytujemy definicję wzkazanego bloku
(vlax-for Element Definicja ; pętla przechodząca przez każdy element w kolekcji
(vlax-put-property Element 'Color 0) ; zmiana koloru na ByBlock
)
(command "regen") ; konieczne, by zobaczyć zmianę, bez tego zmiany w elementach będą dokonane,
; ale nie zostaną wyświetlone na ekranie
)

 

Wykonanie w ZWCAD 2023

edycja w bloku

Lista tagów: LISP Przykłady LISP

// ZWCAD: dymki słownika – szerokość 500 px i przeliczenie rozmiaru po wczytaniu obrazka (bez paska przewijania) jQuery(function ($) { if (!$.tooltipster) return; // obrazek w dymku wczytuje się po otwarciu – wtedy dymek trzeba zmierzyć jeszcze raz $.tooltipster.on('ready', function (e) { var instance = e.instance; $(e.tooltip).find('img').each(function () { if (!this.complete) { $(this).one('load', function () { instance.reposition(); }); } }); }); // SEO Glossary ustawia maxWidth: 400 – zmieniamy na 500 po jego inicjalizacji setTimeout(function () { $('.tooltipstered').each(function () { try { $(this).tooltipster('option', 'maxWidth', 500); } catch (err) {} }); }, 0); });