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

Zubehör und Zubehör

Gio_S

Guest
Hallo, alle.
der Spiegelbefehl reproduziert die Auswahl, die ich in meinem Fall nur für 3Dface-Entitäten behandeln möchte.
Spiegel gibt mir ein Problem, weil es mir die Ordnung der Wirbel dreht, und es schüttelt mich normal auf den Gesichtern, die es schafft.
In der Praxis möchte ich einen Spiegel machen, dass, wenn es ein a-b-c-d-tier Gesicht behandelt, das neue in der Reihenfolge erzeugt, beispielsweise in der a-d-c-b Ordnung. d.h., halten Sie mir die Zeitreihenfolge oder gegen den Uhrzeigersinn der ursprünglichen Einheiten.
Ich denke nicht an Systeme, wenn ich nicht marokkanisch bin. das Ideal wäre, in der Lage sein, zumindest die neuen gespiegelten Wesen auszuwählen, die dann ich in manina verarbeiten.
Ich brauche nur einige Ideen, dann kann der Code es selbst entwickeln, danke!
 
Sie sollten einen Befehl erstellen, der für jeden ausgewählten 3dface (ssget '(0 . "3dface")) überprüft, ob die Vertiken im Uhrzeigersinn sind. Wenn es nicht das alte 3dface gelöscht wird und es mit der umgekehrten Reihenfolge der Vertikale wiedergibt.
Es sollte funktionieren. . .
 
Hallo, danke, aber konzeptuell kannst du nicht. jede 3d-Gesicht kann sowohl auf einer Seite als auch auf der anderen Seite gesehen werden, so dass es nicht möglich ist, einen eindeutigen Uhrzeigersinn oder gegen den Uhrzeigersinn zu definieren. hängt davon ab, welche Seite Sie es betrachten. und hängt daher vom Kontext der ganzen Form ab.
 
vorausgesetzt, dass die bereits gezeichneten Gesichter den gewünschten Uhrzeigersinn haben, muss ich die gespiegelte Kopie oder die Auswahl der Spiegel abfangen... und umdrehen.
 
vorausgesetzt, dass die bereits gezeichneten Gesichter den gewünschten Uhrzeigersinn haben, muss ich die gespiegelte Kopie oder die Auswahl der Spiegel abfangen... und umdrehen.
Sie können sie nicht umdrehen, wenn sie nicht Symmetrien sind, das heißt, wenn sie nicht Rechtecke sind. .
es ist am besten, sie zu löschen und sie mit den Vertiken in der Reihenfolge (Uhrzeiger / anti-Uhrzeiger) Sie entscheiden..
 
Natürlich kann ich es mit einer einfachen einfachen Lisp-Routine neu gestalten, die meine Vertiken umkehrt.
die Frage in der Tat, wie die von dem Spiegel erzeugten Wesen erfasst werden, ohne sie von Hand zu wählen:)
 
Ich habe eine Idee, aber es ist sehr macchino
- auswählen
- Kopieren Sie alle ausgewählten Invertierungen und erstellen Sie eine neue Auswahl
- nehmen Sie diese Auswahl und spiegeln Sie sie
- und dann absagen.
... aber eine gute Arbeit zu tun, auf diese Weise
 
Hallo, danke, aber konzeptuell kannst du nicht. jede 3d-Gesicht kann sowohl auf einer Seite als auch auf der anderen Seite gesehen werden, so dass es nicht möglich ist, einen eindeutigen Uhrzeigersinn oder gegen den Uhrzeigersinn zu definieren. hängt davon ab, welche Seite Sie es betrachten. und hängt daher vom Kontext der ganzen Form ab.
und ja. es ist in der Theorie notwendig, mit normal zu verstehen.
Wenn alles ein 3d-Modell ist, sollten Normalen nicht auf die Mitte des Modells zeigen... aber wenn das Modell aus mehr Körpern/Elementen besteht, ist dies nicht einfach zu definieren.
 
Natürlich kann ich es mit einer einfachen einfachen Lisp-Routine neu gestalten, die meine Vertiken umkehrt.
die Frage in der Tat, wie die von dem Spiegel erzeugten Wesen erfasst werden, ohne sie von Hand zu wählen:)
den Spiegelbefehl neu definieren.
undefine Spiegel --> (defun c:mirror ....

dann nach Auswahl des Objekts und Anforderung der 2 Punkte der Achse
Prozessauswahl gesetzt ein Objekt zu einem Zeitpunkt
wenn es ein anderes Objekt von 3dface Spiegeln ist
wenn es sich um einen 3d Gesichtsspiegel handelt und sofort nach der Prüfung durch Betrieb auf (entlast)
 
OK, ich schlage vor, Sie auszuwählen, indem Sie eine Auswahlschleife erstellen, die ein Objekt zu einer Zeit spiegelt, und bevor Sie den nächsten Wurf spiegeln das letzte gespiegelte Gesicht und die Vertiken rückgängig macht. das Verfahren ist richtig, es ist nur ein wenig lang zu schreiben und dann langsam laufen. Dafür fragte ich mich, ob es einen Weg gab, die gespiegelten Gesichter auszuwählen, oder alles, was ich gespiegelt habe, um einen einfachen Zyklus der umgekehrten Ordnung der Wirbel anzuwenden. wie ich es lange getan habe
Code:
(Defun oclock)
(prompt "\ninvert face points order: ")
(setq selez (ssget))
(falls (/= nil selez)
(Progn)
(setq max (sslength selez) contasel 0)
(Während)
(Satz in (ssname selez contasel) alist (entget in)
(wenn (= "3dface" (cdr(assoc 0 alist))))
(Progn)
(setq pntb (cdr(assoc 11 alist))))
(setq pntd (cdr(assoc 13 alist))))
(setq pntb (list 13 (car pntb) (cadr pntb))
(setq pntd (list 11 (car pntd)(cadr pntd)))
(setq alist (subst pntb (assoc 13 alist))
(setq alist (subst pntd (assoc 11 alist))
(entmod alist)
)
)
(setq contasel (+ 1 contasel))
)
)
)
)
so muss ich die ex novo Auswahl erstellen, indem ich die gespiegelten Gesichter auswähle.
Ich möchte verstehen, ob es einen Weg gibt, die ganze Gruppe von Gesichtern zu fangen, die ich gespiegelt habe, ohne den Spiegelbefehl einmal in einer Weile zu wiederholen, um von Zeit zu Zeit auf jeden einzugreifen.
oder ein direkter Prozess
 
Du musst den Befehl nicht oft wiederholen... Nur eins.

sollte mehr oder weniger so sein (schreiben Sie hier zum Flug)
Code:
(Defun c:specchio2 ()
(setq ss(ssget) n 0)
(setq p1(getpoint"p1")
(setq p2(getpoint p2 "p2")
(Repeat)
(Befehl "_mirror" (Name ss n) "" p1 p2 "_n")
(if (= "3dface"(cfd(assoc 0 (ssname ss n))))))
(routine_verifica_3df)
)
(Setq n(1+ n))
)
)
 
Ja, ok, geschrieben ist agiler als ich dachte, statt routine_verifica_3df Ich habe bereits den oben geschriebenen Code.
Ich verstehe das "cfd" nicht, wenn ich es nicht weiß oder es ist ein Schreibfehler ..
Danke!
 

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