| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Layer: TrueColor / Farbbuch auslesen (1461 mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
   
 Beiträge: 1221 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 07. Aug. 2008 15:06 <-- editieren / zitieren --> Unities abgeben:         
|
benwisch Mitglied Bautechniker, CAD-Konstrukteur
 
 Beiträge: 375 Registriert: 01.02.2001
|
erstellt am: 07. Aug. 2008 16:51 <-- editieren / zitieren --> Unities abgeben:          Nur für tappenbeck
Eigentlich ganz einfach mit ActiveX und nix mit TblSearch  Code:
(vl-load-com) (vlax-get-property (vlax-ename->vla-object (tblobjname "layer" "0") ) 'TrueColor )
liefert dir ein TrueColor-VlaObject zurück und mit diesem kannst du dir die Werte
- Red --> (vlax-get-property <TrueColor-VlaObject> 'Red)
- Green --> analog wie oben
- Blue --> analog wie oben
und
- BookName --> (vlax-get-property <TrueColor-VlaObject> 'BookName)
- ColorName --> analog wie oben
auslesen.Alternativ die Kurzschreibweise... vla-get-truecolor vla-get-red vla-get-green vla-get-blue vla-get-bookname vla-get-colorname
Nur in Lisp, also ohne ActiveX, wird es schwieriger, da im Layer-Entity nur ein Index abgelegt ist. Dieser befindet sich im GC 420 (nur vorh. wenn gesetzt bzw. Farbuch vorh. ist) und Farbbuch/Farbname findest du im GC 430 (nur vorh. wenn Farbuch gesetzt ist). Um den Index in RGB umzuwandeln muß man sich eine Funktion schreiben :)
Code:
(defun :C-TCsplit ( #c / ) (list (lsh (fix #c) -16) (lsh (lsh (fix #c) 16) -24) (lsh (lsh (fix #c) 24) -24) ) )
Aufruf z.B. --> (:C-TCsplit (cdr(assoc 420 (entget(tblobjname "layer" "0"))))) Hier am Beispiel natürlich GC 420 vorh. So und nun viel Spaß beim coden  ------------------ CADmaro.de
[Diese Nachricht wurde von benwisch am 07. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |