• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Dieselausdruck in Datenfeldern aktualisieren

  • Ersteller Ersteller x11start
  • Erstellt am Erstellt am

x11start

Guest
in der Firma verwenden wir einen Namen für die Dateien der verschiedenen Kunden, so eingestellt:

rot mario 24-900.dwg

in denen
- Kundenname: kann variable Länge haben,
- Jahr
- Ja. Kein Fortschritt des Vertrages

für die verschiedenen Zeichnungen, die mit diesem Kunden zusammenhängen, habe ich Datenfelder mit einem Diesel-Ausdruck eingefügt, der mir das Jahr und die Provisions-Nr. automatisch extrapoliert:
[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](Strlen,$(getvar,dwgname)),9),6)

Im Grunde nimmt es mich den Namen der Datei, extrahiert 6 Zeichen aus Position 9 von unten.

Das Problem ist, dass wir jetzt die 1000 nähern... das Ergebnis bestellen: wäre "4-1000" anstelle von "24-1000".

Ich habe gelöst, indem ich einen, wenn im Diesel-Ausdruck, der wird:
[imath](wenn,[/imath](Substr.[imath](Getvar, Dwgname)[/imath]([imath](stark,[/imath](Getvar, dwgname); 7)[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](stark,[imath](Getvar, dwgname);[/imath](Substr.[imath](Getvar, Dwgname)[/imath]([imath](stark,[/imath](getvar,dwgname)),9),6)

Ich meine:

$(falls, -> wenn ...
[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](strlen,$(getvar,dwgname)),7),1)"1", -> der 7 crt (für nur 1 crt) vom Ende des Dateinamens ist = "1".
[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](strlen,$(getvar,dwgname)),10),7), -> vom 10. bis 7 crt (Mitteilung > bis 1000)
[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](strlen,$(getvar,dwgname)),9),6) -> andernfalls 9° crt für 6 crt (Ausschuß < bis 1000)

) - > schließt, wenn


.... mein Problem ist, dass ich alle diese Datenfelder in allen Zeichnungen ersetzen sollte....

entsprechend können Sie ein Lisp oder ein Skript erstellen, das einen Ausdruck in einem Datenfeld "finden" und "ersetzen" kann?
 

Anhänge

Ich begann aus dem Programm, das im Forum "elimina hasch from blocks" veröffentlicht wurde, um den Text mit hasextensiondictionary=-1 zu löschen, suchte z.B. ein Feld mit dersel Expression in der dwg hinzuzufügen, alles zusammengeführt, die Datei erstellt. Sie ändern es, um es an Ihre Bedürfnisse anzupassen.
 

Anhänge

Tut mir leid, wenn ich nicht sofort antworten würde. in diesen Tagen habe ich den PC nicht mehr benutzt.

Ich schaue es mir an und dann lasse ich es wissen.

Vielen Dank!
 
Ich habe mit einem einzigen Befehl gelöst, der durch Klicken auf das Textfeld (oder sogar auf einen normalen Text) den gewünschten Dieselstring einfügt.
Ich machte praktisch eine kleine Lippe mit nur einem (und sehr lang!) Zeile:

(vlax-put(vlax-ename->vla-object (car (entsel))'textstring"%\\\acdiesel [imath](wenn,[/imath](Substr.[imath](Getvar, Dwgname)[/imath]([imath](stark,[/imath](Getvar, dwgname); 7)[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](Strlen,$(getvar,dwgname)),10),7),[imath](Substr.[/imath](Getvar, Dwgname)[imath]([/imath](Strlen,$(getvar,dwgname)),9),
6)

ps. wenn der Text zu variieren ist innerhalb eines Blocks, Ich muss nichts tun, als die Editor-Blöcke eingeben und werfen Sie die Lisp von dort, um das Textfeld zu ändern.

Danke für Ihre Hilfe.
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben