Hey!
Is het mogenlijk om bijvoorbeeld als je een bepaald comando doet dit altijd in dezelfde layer te zetten zoals bij de arceringen?
bv als ik revcloud gebruik zou ik graag hebben dat dit altijd in de layer intern komt te staan. Is dit mogelijk?
of ook maatlijnen, is het hier mogelijk om dit ook altijd in eenzelfde layer te zetten zoals bij de arcering?
merci
Beste Svenver,
1)Als je bijv. een polylijn of een maatlijn (die op een bepaalde laag staan) sleept
naar de tool palettes, dan kan dat.
Via de rechter muis knop op het icoon, kun je bij Properties... deze laag ook veranderen.
Een revloud is een LTpolyline, en geeft dus na verslepen het commando PLINE
in de tool palettes.
Maar bij o.a. bemating gaat het goed.
2)Een andere manier is, dat je een programma schrijft wat eerst een laag actief
zet en daarna het commando start.
(defun MlayZet(Lay Col Ltyp Lwght)
(setq ~acadver (atoi (substr (getvar "ACADVER") 1 2)))
(if (not (tblsearch "LAYER" lay))
(progn (if (> ~acadver 14)
(command "_.LAYER" "_M" Lay "_C" col Lay "_L" Ltyp Lay "_LW" Lwght Lay "")
(command "_.LAYER" "_M" Lay "_C" col Lay ""))))
(command "_.LAYER" "_T" Lay "_ON" Lay "_U" Lay "_S" Lay "")
)
(defun c:MyLayRev(/ Lay Col Ltyp Lwght)
(setq Lay "RevcloudLay" Col "Red" Ltyp "Hidden" Lwght "0.18")
(mlayzet Lay Col Ltyp Lwght)
(command "_.REVCLOUD")
)
(defun c:MyLayDim(/ Lay Col Ltyp Lwght)
(setq Lay "DimLay" Col "Yellow" Ltyp "continuous" Lwght "0.18")
(mlayzet Lay Col Ltyp Lwght)
(command "_.DIMLINEAR")
)
Na het laden opstarten met MyLayRev en met MyLayDim.
3)Ook kun je met het commando CUI een nieuw commando met daarin
een macro maken, en dit commando plaatsen in een nieuwe knop
in een toolbar of in het lintmenu!
Met de macro zo iets als:
^C^C_.LAYER _S RevcloudLay ;_.REVCLOUD;
Of als het bovenstaande programma is geladen, dan werkt
de volgende macro ook:
^C^C(c:MyLayRev)
Met vriendelijke groet, HofCAD CSI.
Heb jij een duidelijke tutorial voor hoe progamma's - macro's te maken met Autocad?
een youtubefilmpje of site?
merci
Citaat van: SVENVER op do 30 05 2013, 11:38:56
Heb jij een duidelijke tutorial voor hoe progamma's - macro's te maken met Autocad?
een youtubefilmpje of site?
merci
Kijk hier al eens: http://www.cadsite.be/lisp/lisp.php
Citaat van: Rudy op vr 31 05 2013, 12:34:04
Kijk hier al eens: http://www.cadsite.be/lisp/lisp.php
Bovenstaande link is voor een Lisp macro of programma, en de
volgende is met het CUI commando!
http://www.cad-notes.com/2009/08/creating-new-command-in-autocad/ (http://www.cad-notes.com/2009/08/creating-new-command-in-autocad/)
Met vriendelijke groet, HofCAD CSI.
Citaat van: HofCAD op wo 29 05 2013, 18:30:34
3)Ook kun je met het commando CUI een nieuw commando met daarin
een macro maken, en dit commando plaatsen in een nieuwe knop
in een toolbar of in het lintmenu!
Met de macro zo iets als:
^C^C_.LAYER _S RevcloudLay ;_.REVCLOUD;
Of als het bovenstaande programma is geladen, dan werkt
de volgende macro ook:
^C^C(c:MyLayRev)
Met vriendelijke groet, HofCAD CSI.
Ik heb dit nu geprobeerd en dit lukt me totaal niet
^C^C_.U_intern _S RevcloudLay ;_.REVCLOUD;
dit is mijn command U_intern is de layer
maar als ik deze uitprobeer dan begind hij te strechen wat doe ik mis?
hoe weet je hoe je gemakkelijk een macro kan maken?
Beste Svenver,
In
^C^C_.LAYER _S RevcloudLay ;_.REVCLOUD;
is:
^C^C 2x ^C is 2x Cancel
_.LAYER het commando Layer met spatie
_S de optie Set van het commando Layer met spatie
RevcloudLay ; een bestaande laagnaam van voor Revcloud met spatie en puntkomma
_.REVCLOUD; het commando REVCLOUD met puntkomma
Als je het commando -LAYER gebruikt en kijkt op de commando regel,
dan zie je dat je de optie Set hebt.
Een spatie is een Enter en een ; ook!
Met vriendelijke groet, HofCAD CSI.
PS Zie de dikke boeken van ir. R. Boeklagen AutoCAD 20## Computer Ondersteund Ontwerpen
Ik ben een leek in het maken van autocad macro's.
Zodus begrijp ik eigenlijk niet veel over wat je juist naar de layername moet aanpassen ?
ik heb een jpg bijgevoegd als ik gewoon de macro gebruik dat jij mij gegeven hebt.
heb je ergens een lijst met alle macrocomando's?
@ HofCAD:
Wat opmerkingen:
- Het is verwarrend dat je spaties en puntkomma's door elkaar gebruikt (beide staan immers gelijk aan 'Enter').
- De laatste puntkomma kan vervallen.
- De macro wordt leesbaarder als je de commando opties volledig uitschrijft. Dus '_set' i.p.v. '_s'.
- Het valt mij overigens op dat in de 'standaard' macro's (althans bij BricsCAD) de commando's met underscore maar zonder punt worden geschreven.
@ SVENVER:
Macrocomando's bestaan niet als aparte categorie. Dit zijn 'gewone' AutoCAD commando's met bijbehorende opties, zoals je ze in zou kunnen typen. Wel moet je bij het intypen op de commando-regel '-LAYER' i.p.v. 'LAYER' gebruiken.
@ Roy_043
Binnen autocad heb je de mogelijkheid om commando's te herdefinieren. Je kunt bijvoorbeeld het save commando herschrijven naar eigen inzicht. Door een punt voor het commando te zetten maak je gebruik van het standaard autocad commando en omzeil je het aangepaste commando
stephan
@ sschevers:
De werking van de underscore en de punt zijn mij bekend.
Ik plaats alleen vraagtekens bij het gebruik van de punt.
Het gebruik van de punt in macro's kan een goed idee zijn:
Als, inderdaad, een gebruiker een standaard commando heeft geherdefinieerd.
Het gebruik van de punt in macro's kan een slecht idee zijn:
Als in het CAD-programma een commando wordt gewijzigd en je dat commando zou willen herdefiniëren om bestaande macro's te blijven gebruiken.
Overigens: in de layer-macro zou ik '_set' vervangen door '_make'.
Beste Roy,
Je was me voor!
^C^C_.LAYER;_M;RevcloudLay;;_.REVCLOUD
De laag RevcloudLay wordt nu aangemaakt als hij nog niet
bestaat, en wordt altijd actief gezet.
Met vriendelijke groet, HofCAD CSI.
PS1 From http://adndevblog.typepad.com/autocad/2012/10/invoking-commands-in-localized-versions.html?cid=6a0167607c2431970b017c3343272a970b (http://adndevblog.typepad.com/autocad/2012/10/invoking-commands-in-localized-versions.html?cid=6a0167607c2431970b017c3343272a970b)
An underscore _
This calls the English version of the command. For example, the command, _LINE, can be issued from all localized releases and English AutoCAD.
A period .
This calls the original command when a command was redefined. For example, whena user redefines the LINE command. In such a case, _.line can be issued from all localized releases and English AutoCAD. It will always invoke the original LINE command.
A hyphen -
This calls the command-line version of the command (when available). For example, _.-layer calls the command line version of the original layer command in all AutoCAD releases, independent of the localization.
PS2 Het gebruik van een spatie en een ; is bij mij,
dat ik een spatie gebruik voor een Enter binnen het
commando en een ; bij het einde van een commando!
Dit is mijn persoonlijke voorkeur. :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
Oke het is me gelukt om nu een de layer te veranderen als ik de revcloud teken.
Nu zou ik graag willen dat het terug naar de vorige layer gaat als ik verder teken.
Is dit mogelijk?
+ ik wou dit op een sneltoets steken, maar ik zou niet weten hoe je bij command aliases uw eigen macro kunt toevoegen.
Citaat van: SVENVER op do 06 06 2013, 09:03:36
Nu zou ik graag willen dat het terug naar de vorige layer gaat als ik verder teken.
Beste Svenver,
Als het programma MyLayCom2.lsp is geladen met het commando APPLOAD,
dan werken de volgende macro's:
^C^C(c:MyLayRev)
^C^C(c:MyLayDim)
Met vriendelijke groet, HofCAD CSI.
PS Het programma MyLayCom2.lsp kan in de dialoogbox van het
commando APPLOAD in de Startup Suite geplaatst worden,
waardoor dit programma bij elke tekening automatisch geladen wordt.
En hoe plaats je het dan op een sneltoets?
Citaat van: SVENVER op vr 07 06 2013, 08:42:51
En hoe plaats je het dan op een sneltoets?
Beste Svenster,
Je maakt een in het dialoogvenster van het commando CUI
een nieuw commando!
In dit nieuwe commando zet je een van de twee macro's:
^C^C(c:MyLayRev)
of
^C^C(c:MyLayDim)
Dit nieuwe commando sleep je naar een eventuele nieuwe toolbar
of naar een plaats in het ribbon menu.
Zie mijn eerdere link:
http://www.cad-notes.com/2009/08/creating-new-command-in-autocad/ (http://www.cad-notes.com/2009/08/creating-new-command-in-autocad/)
Het zou een goede investering zijn als je het volgende boek zou kopen:
ir. R. Boeklagen AutoCAD 2012 Computer Ondersteund Ontwerpen â,¬ 59,50
Met vriendelijke groet, HofCAD CSI.
Citaat van: HofCAD op vr 07 06 2013, 09:17:47
Beste Svenster,
Je maakt een in het dialoogvenster van het commando CUI
een nieuw commando!
In dit nieuwe commando zet je een van de twee macro's:
^C^C(c:MyLayRev)
of
^C^C(c:MyLayDim)
Dit nieuwe commando sleep je naar een eventuele nieuwe toolbar
of naar een plaats in het ribbon menu.
Zie mijn eerdere link:
http://www.cad-notes.com/2009/08/creating-new-command-in-autocad/ (http://www.cad-notes.com/2009/08/creating-new-command-in-autocad/)
Het zou een goede investering zijn als je het volgende boek zou kopen:
ir. R. Boeklagen AutoCAD 2012 Computer Ondersteund Ontwerpen â,¬ 59,50
Met vriendelijke groet, HofCAD CSI.
Je snapt mijn vraag niet, ik heb er een printscreen bij geplaatst. Hoe zet je jouw nieuw comando op een sneltoets op je toetsenbord. want dit staat niet bij de comando's zodus hoe doe je dit?
Beste SVENVER,
Als MyLayCom2.lsp is geladen, dan zijn de commando's MyLayRev en MyLayDim
beschikbaar!
Zie voor MyLayRev en de alias LR het bijgevoegde plaatje!
Met Vriendelijke groet, HofCAD CSI.