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

Problem der Änderungsschicht

carmelo81

Guest
Bye to all,
Ich benutze den Code unten (nicht meine), um einen doppelten Offset zu machen, nur dass am Ende die neuen Linien automatisch auf die Ebene 0 bewegt werden und ich verstehe nicht, warum.
Kannst du mir helfen, das zu lösen?
Vielen Dank
Code:
(Fortsetzung c:k)
(setq dist (* 0.5 (getdist "\nenter Offset Abstand: "))))
(keine Pfropfung)
(falls (eq)
Nil
)
Das war keine Linie. bitte wieder auswählen: ")
)
)
(Initget (+ 1 2 4 64))

(setq obj (vlax-ename->vla-object ent))
(fla-offset obj dist)
(fla-offset obj (* dist -1))

(vla-erase obj)

(princ)
)
 
Das Bewegen auf der Schicht 0 wird von dieser Routine nicht durchgeführt, der vla-offset Befehl verwendet die Schicht der Quellzeile.
 
Richtig.
Es gibt nicht nur eine Anweisung, die die aktuelle Schicht oder neue Einheiten ändert.
und versuchte die Liste der Offsets richtig.

überprüfen, ob Sie den Offset-Befehl mit der aktuellen Option anstelle der Quelle einstellen
 
wie zu Recht rpor66 schreibt, gibt es keine Schichtverschiebung, und von autocad funktioniert perfekt, Ich kann denken, dass hängt von der Software, die Sie verwenden, Sie könnten versuchen, diesen geänderten Code zu verwenden, der die Zuordnung der Schicht zu den beiden Linien, die erstellt, zwingt, nimmt es von der ausgewählten.
 

Anhänge

Danke Raga für die Antworten. .
überprüfen, ob Sie den Offset-Befehl mit der aktuellen Option anstelle der Quelle einstellen
tatsächlich funktioniert der Befehl richtig, aber es ändert Schicht, bo... Ich bestätige, dass die Option in der Quelle ist.
wie zu Recht rpor66 schreibt, gibt es keine Schichtverschiebung, und von autocad funktioniert perfekt, Ich kann denken, dass hängt von der Software, die Sie verwenden, Sie könnten versuchen, diesen geänderten Code zu verwenden, der die Zuordnung der Schicht zu den beiden Linien, die erstellt, zwingt, nimmt es von der ausgewählten.
Vielen Dank, ich werde schließlich Ihren Code verwenden, weil perfekt funktioniert.
 
wie zu Recht rpor66 schreibt, gibt es keine Schichtverschiebung, und von autocad funktioniert perfekt, Ich kann denken, dass hängt von der Software, die Sie verwenden, Sie könnten versuchen, diesen geänderten Code zu verwenden, der die Zuordnung der Schicht zu den beiden Linien, die erstellt, zwingt, nimmt es von der ausgewählten.
scusami joblayer ho ancora due domande sul tuo codice:1: der Zyklus während erlaubt mir, so viele Offsets zu tun, ohne den Befehl zu schließen? denn wenn ja, es funktioniert nicht.2.: wie speichere ich den variablen Wert nicht Sie haben also den gleichen Wert, wenn ich den Befehl rufe?

Danke.
 
scusami joblayer ho ancora due domande sul tuo codice:1: der Zyklus während erlaubt mir, so viele Offsets zu tun, ohne den Befehl zu schließen? denn wenn ja, es funktioniert nicht.2.: wie speichere ich den variablen Wert nicht Sie haben also den gleichen Wert, wenn ich den Befehl rufe?

Danke.
der Zyklus in Frage, erlaubt es Ihnen nicht, so viele Offsets zu tun, aber will Sie weiterhin fragen, eine Zeile auszuwählen, bis Sie in nichts auswählen. Eine Lösung zu dem, was Sie brauchen, kann diese Modifikation sein, die den Befehl für 100 mal wiederholt, in der Lage, Wiederholungslinien auszuwählen, ohne die Dist-Variable zu ändern, und drücken Sie "esc" wenn Sie fertig wollen, wird eine Fehlermeldung angezeigt, die nicht sehr sauber ist, aber an diesem Punkt haben Sie bereits den Zweck erreicht.
 

Anhänge

Nun, es ist immer etwas, obwohl ein wenig rudimentär. Ich werde es für mehr verwenden, danke!

anstatt für die zweite Frage, gibt es eine bestimmte Art zu lösen?
Danke.
 
Ich versuche, Ihre zweite Frage zu beantworten, wird mich jemand korrigieren, wenn ich Unsinn schreibe, wenn Sie einen lisp-Befehl ausführen, die Variablen in ihm sind aktiv bis zum Ende des Befehls, nach dem sie verloren sind, um Ihre "dist" Variable zu verfolgen, die Sie brauchen, um es irgendwo zu speichern. autocad verwendet seine zahlreichen Systemvariablen für seine Referenzen und Referenzen seiner Befehle, während der gesamten Zeichnungssitzung, aber ein lisp-Befehl hat keinen eigenen Raum außerhalb davon, oder zumindest habe ich es nicht gefunden. Ich erinnere mich, dass es 4 Systemvariablen gibt, die dem Benutzer zur Verfügung stehen, aber ich konnte sie nicht finden (wenn jemand weiß, dass mehr gut angenommen wird), so habe ich die Variablen ausgenutzt, die durch Offset verwendet wurde, um Ihre "dist" Variable wiederherzustellen, aber es könnte verärgert werden, wenn zwischen zwei lisp-Befehle verwendet wurde Offset mit unterschiedlichem Abstand. Eine andere Alternative wäre, die Variable in einer Textdatei in einem PC-Standort zu speichern und sie in Not wiederherzustellen, aber Sie würden schmutzig herum gehen, ich weiß nicht, ob es sich lohnt.
 

Anhänge

die Variablen in lis entstehen beim Öffnen eines dwg, sie sterben beim Schließen, immer das ändert die Variable lispinit nicht.
Es gibt 5 doppeltypische Variablen, userr1÷5 und 5 ganzzahlige Typen, useri1÷5, im dwg gespeicherte Werte.
nichts verbietet die Erinnerung an den Wert der Variablen in einer externen Datei, wie myoffset.ini, verwaltet von der Routine in lisp.
 
Hi.
user1, user2, user3, user4 und user5 sind Variablen, die dem Benutzer zur Verfügung stehen, im Web finden Sie leicht Details über die Verwendung.
Sie können sie leicht verwenden. Ich brauche mehr, und ich habe nicht genug, zum Beispiel für die Parameter, wie man einen Render startet.
Ich habe ein einfaches System entwickelt, auch wenn grob, aber das hat keine Gegenanzeigen. in lisp, aus dem Menü, ich varable von physischen "Umwelt", einfach erstellen Schichten, die nicht Objekte enthalten, sondern Berichte sind.
Beispiel.... Art des Himmels "Storm... Sonnenuntergang... etc"
und auch die Quote für Unterwasserrendering.. die genaue Quote der Beobachtungsstelle. Es ist hart, aber es funktioniert und hat keine Grenzen.
 
dank "rpor66" und "gio_s". Ich erinnerte mich an ähnliche Namen, aber ich konnte sie nicht finden, wenn ich tippe "_setvar" auf die Befehlszeile, um die Liste aller Variablen zu sehen, diese 5 Benutzer sind nicht sichtbar, aber in jedem Fall jetzt, wenn ich sie direkt mit seinem Namen nennen kann ich sie leicht verwalten.
Danke noch mal.
 

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