Hallo,
Wij willen een block op een eenvoudige manier RENAMEN. We zitten te denken aan een lisp of macro met het commando '-rename'.
Echter wordt hierbij gevraagd naar een 'old blockname'. In plaats van deze in te typen zouden we hier graag een block aan willen klikken. Hoe kunnen we dit invoeren in een lips of macro?
Alvast bedankt.
Groeten Ad en Rob
*edit: zie bijlage
Misschien niet helemaal wat jullie zoeken, maar kijk eens naar het commando BLOCKREPLACE.
Hier kan je een block aanklikken en vervolgens een ander block aanklikken (of kiezen) waarmee je het huidige block wil vervangen.
Als je die techniek kan lenen, ben je misschien al klaar. (1 maar...., werkt niet goed met dynamische blocken)
Richard
Missschien is het dit "renameb.lsp" zie bijlage
Gebruik dit zelf altijd.
Grtz,
Rudy
@Rudy: dit is ongeveer het commando wat we zoeken, bedankt hiervoor :vreegoe:
Wij lopen met deze lisp tegen twee problemen aan.
1. Het is niet mogelijk om een block in een overkoepelend block te wijzigen. Je kan alleen het overkoepelend block van naam veranderen. Is het misschien mogelijk om de Lisp te wijzigen zodat je kan kiezen welk block je wilt wijzigen als je op een overkoepelend block klikt, zoals bij het commando refedit?
2. De oorspronkelijke naam moet in zijn geheel over getypt worden. Soms willen we alleen iets achter of voor de bestaande block naam zetten. De oude blocknaam kopieëren uit de commandoregel is hierbij niet mogelijk. Is de Lisp om te bouwen zodat hij vraagt of je de oude blocknaam wilt hergebruiken, zodat je er vervolgens iets aan toe kunt voegen?
In de bijlage hebben wij een test tekening geplaatst. Hierbij is het de bedoeling dat het block "cirkel" wordt hernoemd. Dit block zit echter in het overkoepeld block "vierkant met hierin block cirkel". Het overkoepelend block mag uiteraard niet geëxplodeerd worden.
Alvast allemaal bedankt voor het meedenken :!:
Ik zelf ben geen specialist in lisp, ik ben ook maar gebruiker.
Kan je hier geen gebruik maken van de opdracht "rename" in autocad?
Hier kan je zelfs in kopieren.
groetjes,
Rudy
Citaat van: Rudy op do 26 01 2012, 20:13:24
Ik zelf ben geen specialist in lisp, ik ben ook maar gebruiker.
Kan je hier geen gebruik maken van de opdracht "rename" in autocad?
Hier kan je zelfs in kopieren.
groetjes,
Rudy
Beste AdenRob,
Persoonlijk vind ik de dialoogbox van het commando RENAME zeer gebruiksvriendelijk.
Dus net als Rudy, zie ik eigenlijk niet de noodzaak voor een apart programma.
In de bijlage vind je CBN.lsp (Change Block Names for nested blocks), wat
een eerste aanzetvoor je kan zijn.
Met vriendelijke groet, HofCAD CSI.
@ HofCAD
Prachtige lisp :vreegoe: :vreegoe:
Vet compliment :vreegoe: :vreegoe: :vreegoe:
Ik heb deze bekeken en gedegen getest, het is inderdaad een mooie (uitgebreide) aanzet.
Helaas gaat onze kennis (nog) niet zo diep. :cry:
De Lisp laat een naam van een block zien welke men goed, waar dan ook in de naam, kan aanpassen.
Het enige jammere is, dat het block wat men aanvinkt, het bovenste overruled block is.
Als men vervolgens op cancel drukt pakt de Lisp het laatst toegevoegde block.
Vervolgens gaat deze Lisp dieper het overruled block in zodat men als laatste het diepst gelegen block krijgt.
Als men in autocad het commando Refedit uitvoerd, pakt autocad wel meteen het gewenste block, door te vragen naar select reference, ook als dit block in een overruled block zit.
Wie heeft er suggesties of kan deze prachtige Lisp van HofCAD hierop aanpassen dat meteen het gewenste block wordt geselekteerd :vraagteken:
Groeten Ad
Citaat van: AdenRob op za 04 02 2012, 12:57:09
Wie heeft er suggesties of kan deze prachtige Lisp van HofCAD hierop aanpassen dat meteen het gewenste block wordt geselekteerd :vraagteken:
Groeten Ad
Beste AdenRob,
Probeer eens de nieuwe versie van CBN.lsp!
Met vriendelijke groet, HofCAD CSI.
PS Op 15/02-2012 (vl-file-delete DclTemp) toe gevoegd.
@ HofCAD: GEWELDIG :vreegoe: :vreegoe: :vreegoe:
Dit werkt SUPER :vreegoe:
Zeg het voort zeg het voort !
HofCAD BEDANKT ! :ole:
Met vriendelijke groet,
Ad