FastFiber

OpenDCL Color_swatch

Gestart door cadtools@gmail.com, di 14 02 2017, 23:24:57

Vorige topic - Volgende topic

EddyBeerke

Ik heb deze code ook maar gelijk op een eigen tool toegepast  :mrgreen:
BTW, De code van het selecteren komt van de vrienden van Autodesk -> de help.
Citaat van: EddyBeerke 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)
)

Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

gery

Citaat van: cadtools@gmail.com op di 14 02 2017, 23:24:57
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.
Daarvoor gebruik ik dit:
(if (not (setq #ss (ssget "_I"))) (setq #ss (ssget)))
AutoCAD 2020 - Windows 10

cadtools@gmail.com

#17
Bedankt AutoCAD vrienden!
Dat regeltje werkt super om meer dan een element te kunnen selecteren! Bedankt Gery (en Eddy natuurlijk ook) Er zit in onderstaande nog wel command call in maar ik kan er volgens mij prima mee werken.



(DEFUN C:LaC (/)
(if (not (setq #ss (ssget "_I"))) (setq #ss (ssget)))
(command "LAYCUR" #ss "" ))


En een keyboard entry "P" na indrukken knop werkt eigenlijk ook wel prima.
Je moet het even weten.


roy_043

#18
Of:
(defun c:Lac ( / ss)
  (if
    (setq ss
      (if (zerop (getvar 'pickfirst))
        (progn (sssetfirst nil nil) (ssget ":L"))
        (ssget "_:L-I")
      )
    )
    (command "_.laycur" ss "")
  )
  (princ)
)


De toevoeging ":L" in (ssget "_:L-I") heeft niet één maar twee effecten: elementen op gelockte lagen worden niet geselecteerd, maar bovendien wordt de gebruiker alsnog om een selectie gevraagd als er geen preselectie is. Dat laatste gebeurt niet bij (ssget "_I").

roy_043

BTW: Deze topic zou eigenlijk verplaatst moeten worden naar het Autolisp gedeelte van het forum.

cadtools@gmail.com


FastFiber