FastFiber

Style wil niet current worden (Opgelost door HofCad)

Gestart door Atwist, ma 31 05 2010, 19:12:53

Vorige topic - Volgende topic

Atwist

Hallo forumleden,

Ik heb nu zelf een lisp gemaakt met deze wissel ik naar een tekst layer dit werkt goed, maar ik wil ook van textstyle wisselen , maar dit krijg ik niet goed.
Het commando Dtext werkt wel weer goed.

  ((= op "18")
   (command "-layer" "S" "Tekst-18" "")
   (command "-style" "Tekst-18" "isocp" "A" "Y" "N" "1.8" "" "" "" "" "")
   (command "_Dtext" "" ""))


Wil zou eens willen kijken wat er mis is.

Atwist
Atwist

AutoCad 2008.

EddyBeerke

Citaat van: Atwist op ma 31 05 2010, 19:12:53
Hallo forumleden,

Ik heb nu zelf een lisp gemaakt met deze wissel ik naar een tekst layer dit werkt goed, maar ik wil ook van textstyle wisselen , maar dit krijg ik niet goed.
Het commando Dtext werkt wel weer goed.

   ((= op "18")
    (command "-layer" "S" "Tekst-18" "")
    (command "-style" "Tekst-18" "isocp" "A" "Y" "N" "1.8" "" "" "" "" "")
    (command "_Dtext" "" ""))


Wil zou eens willen kijken wat er mis is.

Atwist

Vervang:
(command "-style" "Tekst-18" "isocp" "A" "Y" "N" "1.8" "" "" "" "" "")

door:
(command "-style" "Tekst-18" "isocp" "A" "Y" "N" "1.8" "" "" "" "")


Uitleg:
Er zat een "" teveel bij het (actief) maken van de style.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

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

Atwist

EddyBeerke,

Dank voor jou reactie, heb gelijk de lisp gewijzigd en de textstyle wordt nu wel current maar als ik een tekst wil plaatsen dan worde de tekst niet in die style uitgevoerd.
Weet jij misschien daar ook een oplossing op?

Atwist
Atwist

AutoCad 2008.

EddyBeerke

Citaat van: Atwist op di 01 06 2010, 15:35:32
EddyBeerke,

Dank voor jou reactie, heb gelijk de lisp gewijzigd en de textstyle wordt nu wel current maar als ik een tekst wil plaatsen dan worde de tekst niet in die style uitgevoerd.
Weet jij misschien daar ook een oplossing op?

Atwist

Wat ik altijd doe is op de commandline intypen wat het moet worden.
Dan als het naar wens is verwerken in de lisp.
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

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

Joop

In de op dit forum geplaatste cursus voor het maken van scripts staat een uitgebreide beschrijving voor het maken van scripts.
Deze zelfde techniek is van toepassing voor lisp, met het verschil dat de opdracten tussen aanhalingstekens geplaatst moeten worden en voor enter "" gebruikt wordt.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Atwist

@EddyBeerke

Zo doe ik het nu meestal ook (tip destijds van Roy) waar dan werkt het als ik deze dan weer in de lisp zet werkt het niet.

@Joop

Ik ben met de "" ook al bezig geweest maar ook dan krijg ik het niet voor elkaar.

Atwist
Atwist

AutoCad 2008.

HofCAD

#6
Citaat van: Atwist op do 03 06 2010, 08:53:34
@EddyBeerke

Zo doe ik het nu meestal ook (tip destijds van Roy) waar dan werkt het als ik deze dan weer in de lisp zet werkt het niet.

@Joop

Ik ben met de "" ook al bezig geweest maar ook dan krijg ik het niet voor elkaar.

Atwist
Beste Atwist,

Wat krijg je niet voor elkaar?
Als het een Teksstijl actief maken is, dan kun je dat bijv. met:
(setvar "TEXTSTYLE" "Tekst-18")
als de tekststijl 'Tekst-18' bestaat.
Maar je kan dat ook doen in je tekencommando TEXT:
(command "_.TEXT" "S" "Tekst-18" "J" "MC")
en bij rotation angle van de tekst met een vaste hoek 0
(command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0")

Met vriendelijke groet, HofCAD CSI.

PS1 Let bij het aanmaken van de stijl of de optie Vertical bestaat bij het font.
PS2 Let bij het tekenen of je een tekststijl met een vaste of een variabele hoogte actief hebt.
ACADcadabra

Joop

Het is heel belangrijk dat je goed leest wat er op de commandlijn verschijnt in antwoord op jouw invoer.
Ook mij overkomt het dat ik over iets heen lees of denk dat ik het wel weet terwijl AutoCAD er anders overdenkt.

Sommige opdrachten reageren anders op de diverse waarden van verschillende systeemvariabelen.

Als je bijvoorbeeld een tekening saved en daarna afsluit wordt de tekeningen zondermeer afgesloten.
Heb je van tevoren niet gesaved dan krijg je de vraag of je de wijzigingen wilt opslaan.
Vanuit een script kan het je gebeuren dat er gevraagd wordt of je de wijzigingen wilt NEGEREN.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Atwist

@ Hofcad

Dank voor je antwoord, veranderen van textstyle werkt als een trein Alleen het commando "dtext"wordt niet herkend
In plaats van dtext uitvoeren wordt de tekst dtext op het scherm gezet.
Terwijl het in de lisp toch goed staat als commando.
((= op "18")
    (command "-layer" "S" "Tekst-18" "")
    (command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0")
    (command "dtext"))
   ((= op "25")
    (command "-layer" "S" "Tekst-25" "")
    (command "_.TEXT" "S" "Tekst-25" "J" "MC" (getpoint) "0")
    (command "dtext"))


@ Joop

Asl ik een commando op de Commandline uit probeer dan schrijf ik elke stap op om fouten te voorkomen als ik dit niet doe dan ben ik zo de kluts kwijt :lol:.
En inderdaad eerst 3 keer lezen voor de volgende stap.
Atwist

AutoCad 2008.

HofCAD

Citaat van: Atwist op do 03 06 2010, 10:41:55
@ Hofcad

Dank voor je antwoord, veranderen van textstyle werkt als een trein Alleen het commando "dtext"wordt niet herkend
In plaats van dtext uitvoeren wordt de tekst dtext op het scherm gezet.
Terwijl het in de lisp toch goed staat als commando.
((= op "18")
    (command "-layer" "S" "Tekst-18" "")
    (command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0")
    (command "dtext"))
   ((= op "25")
    (command "-layer" "S" "Tekst-25" "")
    (command "_.TEXT" "S" "Tekst-25" "J" "MC" (getpoint) "0")
    (command "dtext"))


@ Joop

Asl ik een commando op de Commandline uit probeer dan schrijf ik elke stap op om fouten te voorkomen als ik dit niet doe dan ben ik zo de kluts kwijt :lol:.
En inderdaad eerst 3 keer lezen voor de volgende stap.
Beste Attwist,

Vroeger was er een verschil tussen de werking van het commando TEXT en
het commando DTEXT, want toen was het commando TEXT niet dynamisch.
Bij het normaal tekenen is dat verschil weggevallen, maar in een programma
en in een script moet je TEXT gebruiken en dan is TEXT niet dynamisch.

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

Atwist

HofCad,

Ik heb dtext gewijzigd in text
(start_dialog)
  (cond
   ((= op "18")
    (command "-layer" "S" "Tekst-18" "")
    (command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0")
    (command "text"))
   ((= op "25")
    (command "-layer" "S" "Tekst-25" "")
    (command "_.TEXT" "S" "Tekst-25" "J" "MC" (getpoint) "0")
    (command "text"))


Maar in plaats van dtext wordt ni text in het scherm gezet.

Current text style:  "Tekst-25"  Text height:  1.8000  Annotative:  Yes
Specify start point of text or [Justify/Style]: J Enter an option
[Align/Fit/Center/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR]: MC
Specify middle point of text:
Specify rotation angle of text <0>: 0
Enter text: text


Kortom snap ik er nu niets meer van, naar mijn mening heb ik toch alles goed staan

Atwist
Atwist

AutoCad 2008.

HofCAD

#11
Beste Atwist,

Waarom de regel  (command "text")), want je hebt op de regel daar boven al
het commando TEXT aangeroepen.
(start_dialog)
(cond
  ((= op "18")
   (command "_.-LAYER" "S" "Tekst-18" "")
   (command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0" ))
  ((= op "25")
   (command "_.-LAYER" "S" "Tekst-25" "")
   (command "_.TEXT" "S" "Tekst-25" "J" "MC" (getpoint) "0" ))
)

of
(start_dialog)
 (cond
  ((= op "18")
   (command "_.-LAYER" "S" "Tekst-18" "")
   (command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0" (getstring)))
  ((= op "25")
   (command "_.-LAYER" "S" "Tekst-25" "")
   (command "_.TEXT" "S" "Tekst-25" "J" "MC" (getpoint) "0" (getstring)))
)


Met vriendelijke groet, HofCAD CSI.
ACADcadabra

Atwist

HofCad

Ja ik zie het maar als ik de regel Command "text" weg hal de kan ik geen tekst invoegen ik krijg dan gelijk weer mijn keuze scherm te zien.

Atwist

AutoCad 2008.

HofCAD

#13
Citaat van: Atwist op do 03 06 2010, 13:34:08
HofCad

Ja ik zie het maar als ik de regel Command "text" weg hal de kan ik geen tekst invoegen ik krijg dan gelijk weer mijn keuze scherm te zien.


Beste Atwist,

Probeer het volgende op de commando regel te plakken:

(setq op "18")
(cond
((= op "18")
(command "_.-LAYER" "S" "Tekst-18" "")
(command "_.TEXT" "S" "Tekst-18" "J" "MC" (getpoint) "0" (getstring)))
((= op "25")
(command "_.-LAYER" "S" "Tekst-25" "")
(command "_.TEXT" "S" "Tekst-25" "J" "MC" (getpoint) "0" (getstring)))
)


Gaat het dan wel goed?
Als dit goed gaat, dan krijgt de variabele op niet de waarde "18" of "25".

Met vriendelijke groet, HofCAD CSI.
ACADcadabra

Atwist

HofCad,

Deze werkt perfect, moet alleen wel even opletten dat ik de tekst ivoer via commandline in plaats van op het scherm.

Mijn dank is groot :vreegoe:

Atwist
Atwist

AutoCad 2008.