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

Lang Orientierungstexte verschieben

Il filo

Guest
Guten Morgen, alle.

Ich bin Architekt, ich bin vor Jahren diesem Forum beigetreten, aber aus verschiedenen Gründen bin ich seit langem weg von der Welt des Designs und Cad.
In der letzten Zeit näherte ich mich dieser Welt vor allem als Designer und, obwohl ich nicht Probleme mit der Übernahme der alten und vertrauten Software begegnete, habe ich bereits einige Operationen erfüllt, die ich gerne durchführen möchte, aber ich weiß nicht, wie und wenn es möglich ist, es zu tun.

Ich wollte wissen, ob jemand sich einer Möglichkeit bewusst war, mehrere Autocad-Texte einer bestimmten Maßnahme entlang ihrer Orientierung auf einmal zu bewegen.
Ich finde eine Analogie mit 3d Studio max, wenn ich mehr Objekte entlang ihrer lokalen Koordinaten zusammen bewegen möchte.

Leider (und unerwartet) Ich konnte bei einer solchen Operation nichts finden.

Ich hänge eine kurze Skizze an, die ein Bild mehr als tausend Worte wert ist.

Danke im Voraus an alle, die antworten wollen.
 

Anhänge

  • schema.jpg
    schema.jpg
    48,3 KB · Aufrufe: 6
einfach in autocad das Konzept der lokalen Koordinaten nicht existiert, so dass, wenn Sie eine lisp oder ähnlich, um diese Operationen zu unterstützen, ich bezweifle, dass autocad in nativer Weise
 
Zunächst einmal danke für die Antwort.

Leider war es das, was ich vermutete, das Problem ist, dass ich trotz bereits Verwendung einiger Lispen nicht in der Lage wäre, sie derzeit zu erstellen.
so oder ich hoffe immer, eine geeignete Lippe zu finden oder versuchen, die Zeit zu lernen. Wir werden sehen.

Können Sie die Diskussion wieder offen lassen? Vielleicht haben einige andere Benutzer die Lösung für mein Problem... Wenigstens hoffe ich!
 
In der Tat ist es eine besonders langweilige Sache, keinen direkten Befehl zu haben, den Text nach der normalen (oder parallelen) seiner Orientierung zu bewegen.

Wenn Sie den Winkel kennen (nur Blick in die Eigenschaften) können Sie einfach eine relative Verschiebung durch Einstelllänge und Rotation +90 verwenden.
in der Praxis wird die relative Koordination eine Sache des Typs sein (wo hoch 90 nicht zu tun, um dies im Auge zu haben oder den Rechner zu nehmen):
@ Abstand < (+ Winkel 90)

Eine andere Lösung besteht darin, den Objektvogel durch Auswahl des Schreibens einzustellen. an diesem Punkt eine einfache Bewegung und Sie sind fertig (erinnert, dass Sie das Uct auf den vorherigen Wert zurücksetzen müssen).
 
Diese Methoden sind gut, aber immer auf einer reduzierten Menge von Elementen.
In meinem Fall, leider, gibt es mehrere tausend Texte in unterschiedlichster Weise gedreht :eek:

das bisher verwendete Verfahren wurde mit der selerapid für den Bereich von 10° Texten ausgewählt, die ucts vorübergehend ändern und die Hälfte der ausgewählten Texte nach oben und die andere nach unten bewegen (Filtrate mit dem Befehl findet), die alle 36 Mal wiederholt werden.
Aber diese Methode funktioniert zwischen einem Zeug und dem anderen nimmt mich zwischen 40 und 60 Minuten.

Aber wenn ich die Notwendigkeit hatte, die Texte genau entlang ihrer Orientierung zu bewegen (die nur für jetzt nicht mit mir passiert) sollte ich dieses Verfahren 360 mal wiederholen... ein Stück, das Stunden dauern würde!

Ich bin jedoch nicht der Einzige, der diese Frage gestellt hat.
 
Sehen Sie, ob es funktioniert?
Code:
(Defun c:tt)
(vla-startundomark (vla-get-activedocument))
(princ "\selezionare und testi da spostare)
(setq txt (ssget '(0 . "text"))))
(setq d)
(getdist (strcat "\ndistanza di spostamento" (if d (strcat " <" (rtos d 2 2) ">: ")))))
(d )
)
(falls und txt d)
(Repeat)
(vla-move (vlax-ename->vla-object (setq t1 (ssname txt)))
(vlax-3d-point (setq p1 (cdr))
(vlax-3d-point (polar p1 (+ (cdr (assoc 50 (entget t1))) (/pi 2)))
)
)
(vla-endundomark (vla-get-activedocument))
(princ)
)
 
Sehen Sie, ob es funktioniert?
Code:
(Defun c:tt)
(vla-startundomark (vla-get-activedocument))
(princ "\selezionare und testi da spostare)
(setq txt (ssget '(0 . "text"))))
(setq d)
(getdist (strcat "\ndistanza di spostamento" (if d (strcat " <" (rtos d 2 2) ">: ")))))
(d )
)
(falls und txt d)
(Repeat)
(vla-move (vlax-ename->vla-object (setq t1 (ssname txt)))
(vlax-3d-point (setq p1 (cdr))
(vlax-3d-point (polar p1 (+ (cdr (assoc 50 (entget t1))) (/pi 2)))
)
)
(vla-endundomark (vla-get-activedocument))
(princ)
)
Wow!
Ich werde es absolut beweisen, sobald ich kann, dass ich jetzt nicht vor Autokad bin.

Ein Super-Danke!
Ich lasse dich wissen, wann ich es versuche.
 
Hier bin ich.

Okay, ich gebe zu, ich bin ziemlich unwissend über Makro, Lisp und Programmierung im Allgemeinen.

all dieser Code, den ich versuchte, ihn in die Kommandozeile einzufügen, aber ich kann nicht herausfinden, ob es funktioniert oder nicht.
Sollen diese Saiten dort nicht verklebt werden?
 
Sie müssen eine Textdatei erstellen, mit lsp-Erweiterung (z.B. tt.lsp) und in den gesamten Code kopieren. nach dem Speichern, laden Sie es in autocad durch Appload
von diesem Moment, um es zu starten, von der Tastatur zu tt gefolgt von dem Senden.
ZEITSCHRIFTEN Natürlich (dass ich Ihnen sage) funktioniert genau wie ein Faden, den er wollte, der einzige Maulwurf ist, dass er nur auf reinen Texten arbeitet, nicht auf mtext (Art der verschiedenen Einheit? Problematisch? oder nur eine Frage von Ssget? )
 
@cristalloDanke für die Entführung, Kristall. Genau das habe ich verpasst.
ZEITSCHRIFTEN Ich weiß nicht, was ich sagen soll, wenn ich dir nicht danke!
Es funktioniert genau, wie ich es wollte.
Ich danke Ihnen so sehr für das Lesen und Lösen meines Problems, indem Sie Zeit nehmen.

ein wenig Informationen für alle nach ein paar Tests:
  • Ich versuchte auch mit mtext und bestätige, dass es nicht funktioniert, es geht nur mit normalen Texten (die, selbstredend, was ich interessiert war)
  • Ich habe versucht, mehrere Texte mit unterschiedlichen Gründen zu bewegen, und dieses Ultratime scheint das Ergebnis nicht minimal zu beeinflussen.
  • Ich kann sowohl positiv als auch negativ bewegen.
Es ist wahrscheinlich ein wenig nutzlos, aber ich habe es sowieso getan.
 
ZEITSCHRIFTENIch frage dich noch was.
Ich habe auch diese Frage auf einem anderen Forum formuliert, aber ohne Ergebnis mit anderen Benutzern.
Da jetzt eine Lösung existiert, würden Sie mir die Erlaubnis geben, sie dort zu teilen?
Vielleicht könnte es neben mir jemand anderem dienen.

ps. Natürlich würde ich es nicht wie Mehl meiner Tasche schälen.
 
...das einzige Neo ist, dass er nur auf reinen Texten funktioniert, nicht auf mtext
...verbessere ich zu cogli mtext und bestätige, dass es nicht funktioniert, es geht nur mit normalen Texten
Fügen Sie einfach einen Stern in dieser Zeile(setq txt (ssget '((0). "*Text")

ZEITSCHRIFTENWürden Sie mir die Erlaubnis geben, es dort zu teilen?
kein Problem, so sehr sie mich kennen:)
 

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