FastFiber

Automatically Label Attributes

Gestart door Hepa, di 05 01 2016, 22:21:28

Vorige topic - Volgende topic

Hepa

Beste,

kan iemand deze lisp voor me aanpassen dat hij de (blok attributes) nummer kan laten verhogen van 1.1, 1.2, 1.3 etc. In plaats van 01, 02, 03 etc. zie bijlage voor de lisp.
Tevens had ik graag dat deze lisp naar verschillende blok namen kijkt in plaats van één blok naam. Is dit mogelijk?
Deze lisp heb ik op de volgende web site gevonden.

http://www.lee-mac.com/

Alvast bedankt.

roy_043

Ik heb het programma niet getest maar ik denk dat wat jij wilt al mogelijk is.
Probeer de volgende instellingen:
autolabel:blockname "myblock,myblock2,myblock3"
autolabel:prefix "1."

Hepa

Citaat van: roy_043 op wo 06 01 2016, 09:36:22
Ik heb het programma niet getest maar ik denk dat wat jij wilt al mogelijk is.
Probeer de volgende instellingen:
autolabel:blockname "myblock,myblock2,myblock3"
autolabel:prefix "1."


Beste Roy,
Bedankt voor jouw hulp. Heb jouw instellingen toegepast en ik kreeg het nummer "1." alleen werd nog er achter 01, 02 toegevoegd achter het nummer "1."
Dit heb ik op gelost door de instelling autolabel:length    op nul te zetten.
De eerste stap is gezet. Alleen wil het nog niet lukken om bv myblock2 afzonderlijk van bv myblock te verhogen vanaf "1.1, 1.2 etc."
Zoals je nu heb beschreven krijgt myblock2 het vervolg nummer waarmee myblock is geeindigt.
Dus als myblock uit 1.1, 1.2, 1.3 bestaat en myblock2 uit 1.1, 1.2, etc en ik laad de script op dan worden de nummers van myblock2 1.4 en 1.5. In plaats van 1.1 en 1.2 etc.

Zou je kunnen kijken hoe dit nog opgelost kan worden.

Alvast bedankt.

 

roy_043

Het probleem met meerdere blocknamen heb ik anders opgevat.
Wat jij wilt vereist redelijk wat aanpassingen. Mijn voorstel (ongetest!) is om een quick-and-dirty oplossing te gebruiken.
1.
Kopieer het .lsp bestand.
2.
Vervang in de kopie 'autolabel' steeds door een andere string. Bijv.: 'autolabel_alt_1'. Wijzig hierbij ook de namen van functies en variabelen.
3.
Vul in de kopie een andere blocknaam in.
4.
Laad naast de originele .lsp ook de gewijzigde kopie.

Hepa

Citaat van: roy_043 op wo 06 01 2016, 14:10:39
Het probleem met meerdere blocknamen heb ik anders opgevat.
Wat jij wilt vereist redelijk wat aanpassingen. Mijn voorstel (ongetest!) is om een quick-and-dirty oplossing te gebruiken.
1.
Kopieer het .lsp bestand.
2.
Vervang in de kopie 'autolabel' steeds door een andere string. Bijv.: 'autolabel_alt_1'. Wijzig hierbij ook de namen van functies en variabelen.
3.
Vul in de kopie een andere blocknaam in.
4.
Laad naast de originele .lsp ook de gewijzigde kopie.

Beste Roy,

Als ik dit op deze manier toepast dan moet ik 8 of meer kopieën maken van de originele lisp bestand. Loop ik niet het gevaar dat mijn autocad langzaam gat werken als andere commando's op dezelfde moment als deze lisp bestanden worden uitgevoerd?

Gr.

roy_043

Dat zal allicht vertragend werken maar de vraag is of dat ook merkbaar is voor jou als gebruiker. Verder lijkt mij dit een applicatie die je niet permanent zult gebruiken. Als de nummering eenmaal is vastgelegd, wil je niet dat er hernummerd wordt als er ergens een nummer tussenuit wordt gehaald.

Adrianus

Hoi Hepa,
Wellicht is de LISP in onderstaande link iets voor je.

http://www.lee-mac.com/autolabelattributes.html

Groet,
Adrianus

propeer

#7
Ha mensen,

Ik heb ook dankbaar gebruikgemaakt van bovengenoemde tips om meerdere versies te maken van de LISP's.

Ik loop nu tegen het volgende aan: Als ik mijn block met attribute kopieer, loopt het nummer niet op. Pas als ik het block nieuw invoer gaat de teller weer werken. Met kopiëren en nieuw invoeren kan de reeks als volgt worden: 1 1 1 1 5 6 7. Hierbij waren dan drie keer 1 een kopie van de eerste 1.

Ervaren jullie dit ook? En zo niet, hoe plaatsen jullie dan blocks? Ik wil simpelweg met elke click een block plaatsen. Dit kan normaal met copy, maar dan werkt de LISP bij mij niet.

Mijn block geeft wel een prompt voor de attribute bij nieuw invoeren van het block. Met Copy doet hij dit niet. Kan dit ermee te maken hebben?

bart

Als je een block kopieer krijg je een kopie
met de zelfde att waarde als het origineel.
Daarna zal je moeten (her)nummeren.
Dat kan maar niet met de zelfde lisp als hierboven beschreven
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

roy_043

Het probleem van Propeer treedt in mijn test (met het originele bestand) alleen op als je kopieert met copy+paste. Als je vervolgens een kopie maakt met het _COPY commando dan worden *alle* blocks geüpdatet.

propeer

Roy_043, You saved my day. Gewoon een andere manier van kopiëren toepassen is de oplossing. Bij werkt het zo ook.

Thnx! :D