CADsite forum

AutoCAD => Autolisp => Topic gestart door: Ceta op wo 02 10 2013, 11:50:48

Titel: Updaten van een diesel expression in een field
Bericht door: Ceta op wo 02 10 2013, 11:50:48
Beste Forumgebruikers,

Ik heb een dynamic block gemaakt waar peilmaten in staan.
Zodra ik het block stretch, veranderen de peilmaten. De waarde van de peilmaat is een field met een formule er in (waarde bijv. 1000).
Wanneer het block zodanig aangepast wordt dat deze peilmaat -1000 wordt, zou ik graag een suffix "-P" willen plaatsen.
Hiervoor heb ik een diesel gebruikt die de waarde uit de field uitleest. Als de waarde van de field <0 dan "-P", >= 0 dan "+P".

Handmatig updaten (binnen het block) van deze diesel lukt. Dus de diesel werkt in principe goed.
Het lukt mij echter niet deze field/diesel-combinatie automatisch te laten updaten met regen/plot o.i.d.  (Fieldeval staat op 31).

Heeft iemand een idee hoe dit zou kunnen werken?
Of een alternatief ?  (Misschien is het mogelijk de peilmaat en de "+P" en "-P" samen te voegen)


groeten, Fred
Titel: Re: Updaten van een diesel expression in een field
Bericht door: EddyBeerke op wo 02 10 2013, 12:47:12
Ik denk dat je nog de waarde moet opvragen van de peilmaat en die verwerken in je diesel.
Titel: Re: Updaten van een diesel expression in een field
Bericht door: Ceta op wo 02 10 2013, 12:55:46
Beste Eddy,

Dit heb ik ik de diesel ingevoerd:
$(if,$(>=, %<\AcObjProp Object(%<\_ObjId 8796078915584>%).TextString>%,0),+P,
$(if,$(<, %<\AcObjProp Object(%<\_ObjId 8796078915584>%).TextString>%,0),-P))

Dus als ik het goed heb, staat de waarde er in.

Fred
Titel: Re: Updaten van een diesel expression in een field
Bericht door: roy_043 op wo 02 10 2013, 13:20:51
Mogelijk (waarschijnlijk) zijn de object ids in de geplaatste blocks anders.
Titel: Re: Updaten van een diesel expression in een field
Bericht door: Ceta op wo 02 10 2013, 14:53:12
Om de ObjectIds te verkrijgen heb ik eerst een field -> object -> content aangemaakt. Deze objectIds heb ik gekopieerd in de diesel.

Wanneer in de bijgevoegde dwg de parameter naar links wordt verplaats (voorbij zijn eigen 0-punt) en een regen wordt uitgevoerd,
dan wordt de waarde van de peilmaat negatief. Wanneer vervolgens de diesel handmatig wordt geupdate zal je zien dat er "-P" verschijnt.
Dus volgens mij zijn de ObjectIds goed.

Fred
Titel: Re: Updaten van een diesel expression in een field
Bericht door: roy_043 op wo 02 10 2013, 17:31:29
... Maar is het niet zo dat elke plaatsing van een dynamisch block resulteert in een nieuw (anoniem) block. En een nieuw block betekent volgens mij nieuwe object ids.

... Overigens: Wellicht is dit ook met _dimordinate en een speciale dimstyle op te lossen.
Titel: Re: Updaten van een diesel expression in een field
Bericht door: Ceta op wo 02 10 2013, 17:42:50
1e ....  dat kan kloppen, maar binnen het dynamic block lukt het updaten al niet (buiten het block is de volgende stap).

2e ....  ook een aangepaste dimstyle geeft volgens mij altijd een positieve maat en weet dus niet of er +P of -P als suffix moet komen.