CADsite

  • di 25 07 2017, 20:49:29
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1] 2   Omlaag

Auteur Topic: OpenDCL Color_swatch  (gelezen 932 keer)

cadtools@gmail.com

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 308
  • BIM dreamer
    • Bekijk profiel
OpenDCL Color_swatch
« Gepost op: di 14 02 2017, 23:24:57 »

Hoi

Ik heb nogal wat tijd en moeite gestopt om een dialoogvenster voor elkaar te krijgen.
Werkt prima tot nu toe. Wat ik alleen nog zou willen, is dit..:

Het laden en toewijzen van objecten werkt nu alleen ná activeren van de functie. Echter, hij zou ontzettend cool zijn als het ook zou werken als je eerst objecten zou hebben geselecteerd.

Wie is er handig met OpenDCL?

https://youtu.be/69toSigzGso
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #1 Gepost op: wo 15 02 2017, 09:31:05 »

Hans,

Jou tool kan idd handig zijn!
Maar misschien kun je het maken voor als er toch layer afspraken zijn gemaakt.
BV:
X-XX-AL-DETAIL1-G
Zou dan dit kunnen worden:
X-XX-AL-DETAIL1_1-G
X-XX-AL-DETAIL1_20-G
Of
X-XX-AL-DETAIL1_KLEUR 40-G
X-XX-AL-DETAIL1_KLEUR 150-G

Voor je selectie, bedoel je dit (OpenDCL werkt met lisp toch?)?
(defun C:Test ( / a )
  (vl-cmdf "select")
    (while (> (logand (getvar"CMDACTIVE") 1) 0)
      (vl-cmdf pause)
    )
  (setq a (ssget "_P"))
)
Gelogd

cadtools@gmail.com

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 308
  • BIM dreamer
    • Bekijk profiel
Re: OpenDCL Color_swatch
« Reactie #2 Gepost op: do 16 02 2017, 22:57:25 »

Eddy Wij komen elkaar ook overal tegen !! haha :)
Is het niet op CIB dan wel hier.. die hards.. :)

Je mag 'm tweaken wat je wilt maar doe niet mee in NLCS (teleurgesteld , laksheid organisatie, geen visie, niet DWG ondersteund voor kunstwerken). Ik zie er dus geen meerwaarde in fancy naampjes te gebruiken die niets zeggen. Voor mij werkt 1,2,3,4,... (zoals deze tool bedoeld is) Ik zal je suggestie eens testen.

- werk jij met OpenDCL? Waarom wel/niet?
- Heb je de tool getest (met deze wijziging)?
- mocht je je afvragen waar de code staat. hier.  *!
http://www.opendcl.com/forum/index.php?topic=1945.msg12372#msg12372


Cheers, hans

*EDIT*

(DEFUN C:LaC ( / )
  (setvar "cmdecho" 0)
  (setq ss2 (getvar "clayer"))
  (command "-layer" "on" ss2 "" "")
   (vl-cmdf "select")                                                         ; werkt prima Eddy
    (while (> (logand (getvar"CMDACTIVE") 1) 0)
      (vl-cmdf pause)
    )
  (setq a (ssget "_P"))   
  (command "_.chprop" SS1 "" "_layer" (getvar "clayer") "")  ; .. maar bij mij gaat dit mis ..(getvar "clayer") niet geaccepteerd..  :roll:
  (setvar "cmdecho" 1)
  ;(setvar "clayer" ss2)
  (princ)
  )

*EDIT *

nb *!
even voor de duidelijkheid.. Dit idee komt van een ander, het is volgens mij helemaal opn source, anders had diegene het waarschijnlijk niet gedeeld,.. Ik probeer het alleen nog wat beter te krijgen..




« Laatst bewerkt op: do 16 02 2017, 23:19:27 door cadtools@gmail.com »
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #3 Gepost op: vr 17 02 2017, 08:29:03 »

Ik brdoelde eigenlijk dat je de naam van de layer van het object neemt en daar de colornr achter zet.
Gelogd

cadtools@gmail.com

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 308
  • BIM dreamer
    • Bekijk profiel
Re: OpenDCL Color_swatch
« Reactie #4 Gepost op: vr 17 02 2017, 09:03:28 »

Je wilt het gebruiken voor een alternatief kleurtoewijzing aan layers? Volgens mij is dat wel mogelijk.
Mooie van OpenDCL is dat je de inderface makkelijk kunt maken. Ik stel voor om een vinkje te gebruiken "apply color as layername" versus "apply color as layercolor".

Nock yourself out zou ik zeggen.. ;-)

ps Dat stukje code succesvol omgezet naar onderstaand. Dit werkt volgens mij ook beter dan (select objects) command : laycur. Het gedeelte (select objects) en de de knop indruk nog niet helemaal..

(DEFUN C:LaC ( / )
   (vl-cmdf "select")
    (while (> (logand (getvar"CMDACTIVE") 1) 0)
      (vl-cmdf pause)
    )
  (setq a (ssget "_P"))   
  (command "LAYCUR" a "" )
  (princ)
  )
« Laatst bewerkt op: vr 17 02 2017, 09:05:02 door cadtools@gmail.com »
Gelogd

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1361
  • BricsCAD 16
    • Bekijk profiel
    • www.b-k-g.nl
Re: OpenDCL Color_swatch
« Reactie #5 Gepost op: vr 17 02 2017, 10:26:04 »

Wat gebeurt er in het volgende scenario... ?:
1. Er is geen preselectie.
2. LaC wordt aangeroepen.
3. De gebruiker selecteert niets.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #6 Gepost op: vr 17 02 2017, 11:10:52 »

Wat gebeurt er in het volgende scenario... ?:
1. Er is geen preselectie.
2. LaC wordt aangeroepen.
3. De gebruiker selecteert niets.
Dan loopt de routine in de soep!
Of Hans heeft een errorhandler...
Gelogd

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1361
  • BricsCAD 16
    • Bekijk profiel
    • www.b-k-g.nl
Re: OpenDCL Color_swatch
« Reactie #7 Gepost op: vr 17 02 2017, 11:31:15 »

... En als er een 'Previous' selectie is... ?
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #8 Gepost op: vr 17 02 2017, 12:18:05 »

... En als er een 'Previous' selectie is... ?
Try before you die....
Gelogd

cadtools@gmail.com

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 308
  • BIM dreamer
    • Bekijk profiel
Re: OpenDCL Color_swatch
« Reactie #9 Gepost op: vr 17 02 2017, 14:08:49 »

Hold your horses. Één tegelijk.
Voorlopig heb ik nog niets van dat alles..
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #10 Gepost op: vr 17 02 2017, 16:42:14 »

Hans,
Ik zou dit:
(command "_.chprop" SS1 "" "_layer" (getvar "clayer") "")
In vlisp maken... Veel handiger om op die manier de laag toe te kennen aan een object.
Weet zo ff de code niet maar kan maandag weer ff kijken... Ben nu weekend aan t vieren.
Dus bij deze... Fijn weekend allemaal.
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #11 Gepost op: ma 20 02 2017, 11:35:38 »

Altijd nodig bij het gebruik van VLISP:
(vl-load-com)Om de layer op te vragen:
  (setq e (car (entsel)))
  (setq o (vlax-ename->vla-object e))
  (vla-get-layer o)
Om het object op een layer te zetten:
  (setq e (car (entsel)))
  (setq o (vlax-ename->vla-object e))
  (vla-put-layer o Jou_Layer_Name)
Jou_Layer_Name bevat de string van de laagnaam.
Gelogd

cadtools@gmail.com

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 308
  • BIM dreamer
    • Bekijk profiel
Re: OpenDCL Color_swatch
« Reactie #12 Gepost op: di 21 02 2017, 23:07:00 »

Geen idee.
Ik ben even kwijt, niet zoveel trek meer in..

(DEFUN C:LaC (/)
    (vl-load-com)
    (setq curlay (getvar "celayer"))
    (vl-cmdf "select")
    (while (> (logand (getvar "CMDACTIVE") 1) 0) (vl-cmdf pause))
    (setq a (ssget "_P"))
    (vla-put-layer (a curlay))                    ;  in plaats van (command "LAYCUR" a "" ) maar werkt niet.. Command: ; error: bad function: <Selection set: a0>
    (princ)
)

en dit geprobeerd, maar haakt ook af op DXF code..
(defun Layermake (Nme Col Ltyp LWgt)
  (entmake (list (cons 0 "LAYER")
                 (cons 100 "AcDbSymbolTableRecord")
                 (cons 100 "AcDbLayerTableRecord")
                 (cons 2  Nme)
                 (cons 70 0)
                 (cons 62 Nme)
                 (cons 370 LWgt)))
    princ (strcat "\n " Nme " created: "))

(defun ColorButtonOnClick (idx)
    (setq itoaidx (itoa idx))
    (setq rtosidx (rtos (float idx) 2 0))
    (if (not (tblsearch "layer" rtosidx))
        (progn (setq oldcmdecho (getvar "cmdecho"))
               (setvar "cmdecho" 0)
               (Layermake rtosidx idx "Continuous" -3)
               (setvar 'Clayer rtosidx)           ;   (command "layer" "m" rtosidx "c" rtosidx "" "s" rtosidx "")

               (setvar "cmdecho" oldcmdecho)
        )                                         ;end progn
        (princ "\nLayer exist.")
    )
  ; (c:lac)
)

« Laatst bewerkt op: di 21 02 2017, 23:27:16 door cadtools@gmail.com »
Gelogd

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1361
  • BricsCAD 16
    • Bekijk profiel
    • www.b-k-g.nl
Re: OpenDCL Color_swatch
« Reactie #13 Gepost op: wo 22 02 2017, 09:34:04 »

(getvar "celayer") :vraagteken: :vraagteken:
(cons 62 Nme) :vraagteken: :vraagteken:
Gelogd

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2166
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: OpenDCL Color_swatch
« Reactie #14 Gepost op: wo 22 02 2017, 10:26:54 »

Het is trouwens nier celayer maar clayer
Volgens mij wil je dit:
(DEFUN C:LaC (/ acadObj doc modelSpace curlay err returnObj basePnt)
(vl-load-com)
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
  (setq modelSpace (vla-get-ModelSpace doc))
(setq curlay (getvar "clayer"))
(while (= (setq err (vl-catch-all-apply 'vla-GetEntity (list (vla-get-Utility doc) 'returnObj 'basePnt "Select an object"))) nil)
(vla-put-layer returnObj curlay)
(vla-Update returnObj)
)
(princ)
)
Gelogd
Pagina's: [1] 2   Omhoog