Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;-----------------------
- ;-------- INFO ---------
- ;-----------------------
- ;wybrac blok i sprawdzic wartos atrybutu odmiana
- ;-selekcja trojkotna aby wybral wylacznie obietky z warstwy bloki, pozostawil w selekcji tylko z wlasciwym atrybutem, zmienil na niebieksi
- ;-selection crossing bo wiecej rzecz ywskoczy
- ;1. wskazać blok, sprawdzić wartość atrybutu odmiana. poprzez entsel ;;;selection1
- ;2. selekcja trójkątna na warstwie bloki
- ;3. pozostawił w selekcji tylko z właściwym atrybutem
- ;4. zmienił kolor wybranych obiektów na niebieski.
- ;-----------------------
- ;--------- INI ---------
- ;-----------------------
- (vl-load-com)
- (setq aplikacja (vlax-get-acad-object))
- ;;;(vlax-dump-object aplikacja T)
- (setq sciezka (vlax-get-property aplikacja "path"))
- (setq sciezka (vla-get-path aplikacja))
- (setq aktywny (vla-get-activedocument aplikacja))
- (setq blocks (vla-get-blocks aktywny))
- (setq mspace (vla-get-modelspace aktywny))
- (setq blocksL nil mspaceL nil )
- (vlax-for iblock blocks
- (if (= (vla-get-islayout iblock) :vlax-false)
- (setq blocksL (append blocksL (list iblock)))
- )
- )
- (vlax-for item mspace
- (if (= (vla-get-objectname item) "AcDbBlockReference")
- (setq blocksrefL (append blocksrefL (list item)))
- )
- )
- ;-----------------------
- ;------ FUNCTIONS ------
- ;-----------------------
- ;-----------------------
- ;------- PROGRAM -------
- ;-----------------------
- (setq selection1 nil)
- ;(setq selection1 (entsel "Please choose an object: "))
- (setq selection1 (ssget))
- ;-------------------------------------------------------
- (setq blockref1 nil)
- (setq blockref1 (vlax-ename->vla-object (ssname selection1 0)))
- (setq atributes nil)
- (setq atributesSA nil)
- (setq atributesL nil)
- (setq atributes (vla-GetAttributes blockref1))
- (setq atributesSA (variant-value atributes))
- (setq atributesL (safearray-value atributesSA))
- (foreach iattribute atributesL
- (setq tagtextstringL (append tagtextstringL
- (list (list (vla-get-tagstring iattribute)
- (vla-get-textstring iattribute))))
- )
- )
- (print tagtextstringL)
- ;------------------------------------------------------- triangle sel
- (setq pt1 nil)
- (setq pt2 nil)
- (setq pt3 nil)
- (setq triangleSelection nil)
- (setq pt1 (getpoint "p1:") )
- (setq pt2 (getpoint "p2:") )
- (setq pt3 (getpoint "p3:") )
- (setq triangleSelection (ssget "WP" (list pt1 pt2 pt3)'((8 . "bloki"))))
- ;------------------------------------------------------- change color
- (setq i 0)
- (while (< i (sslength triangleSelection))
- (setq tmpEnt (ssname triangleSelection i))
- (setq tmpObj (vlax-ename->vla-object tmpEnt))
- (setq oColor (vlax-get-property tmpObj 'TrueColor))
- (vlax-invoke-method oColor 'SetRGB 0 0 255)
- (vlax-put-property tmpObj 'TrueColor oColor)
- (vla-update tmpObj)
- (setq i (+ i 1))
- )
- ;-----------------------
- ;--------- EOF ---------
- ;-----------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement