Kreis = Vieleck gehts auch anders?
-
Da muss ich dich entäuschen. In Sketchup gibt es als geometrische Flächenforum ausschließlich x-Ecke. Allerdings lässt sich folgende Überlegung anstellen: Man müsste den Exporter dahingehend erweitern, dass er Flächen auf ihre Beschaffenheit hin prüft. Einen "Kreis" in Sketchup macht ja aus, dass die Winkel der jeweiligen Kanten, wo sie zusammentreffen, immer gleich ist. Flächen müssten also geprüft werden, ob ihre Kanten miteinander immer den gleichen Winkel ergeben. Damit das nicht zu heftig wird und aus einem Viereck auch ein Kreis wird, bräuchte man hier noch einen Winkel-Schwellenwert, bei dem eine Fläche als Kreis akzeptiert würde.
azuby
-
HAllo Azuby,
Vieleicht kan man sobald eine Fläche einen "center" Mittelpunkt hat ,diesen al Kreis zu akzeptieren.
Schönen Gruss,
Bep van Malde
-
@bep said:
HAllo Azuby,
Vieleicht kan man sobald eine Fläche einen "center" Mittelpunkt hat ,diesen al Kreis zu akzeptieren.
Schönen Gruss,
Bep van Malde
Da muss ich mal nachhaken: Wenn ich einen Kreis erstelle und danach noch etwa ein Rechteck, wie komme ich dann an den Mittelpunkt des Kreises? Soweit ich weiß, ist die Kreisfläche schon in diesem Fall für Sketchup-Ruby nur noch eine Fläche (ohne dass gesichert ist, dass sie mal mit dem Kreis-Werkzeug erstellt wurde). Hier mal - falls wer außer mir noch was damit anfangen kann - die zur Verfügung stehenden Methoden für die Kreisfläche:Sketchup.active_model.entities.each do |e| puts e.methods.sort if e.kind_of? Sketchup;;Face end == === =~ __id__ __send__ add_observer all_connected area attribute_dictionaries attribute_dictionary back_material back_material= bounds casts_shadows= casts_shadows? class classify_point clone delete_attribute deleted? display dup edges entityID eql? equal? erase! extend followme freeze frozen? get_UVHelper get_attribute hash hidden= hidden? id inspect instance_eval instance_of? instance_variable_get instance_variable_set instance_variables is_a? kind_of? layer layer= loops material material= mesh method methods model nil? normal object_id outer_loop parent plane position_material private_methods protected_methods public_methods pushpull receives_shadows= receives_shadows? remove_observer respond_to? reverse! send set_attribute singleton_methods taint tainted? to_a to_b to_s type typename untaint valid? vertices visible= visible?
azuby
-
Es muste schon in Sketchup gespeichert sein das es mit den Kreis-tool erstelt ist,
Denn auch nacher kan Ich einen wie einen Kreis mit Diameter bemassen ,und auch den mittelpunkt zuruckfinden.Gruss Bep
-
Ich persönlich glaube nicht daran, dass eine Fläche sich an ihre Kreishaftigkeit erinnern kann Einfach durch folgendes Experiment:
- einen Kreis erstellen
- dann eine normale Fläche erstellen
- durch bloßes Drüberfahren über den Kreis versuchen, den Kreismittelpunkt zu ermitteln - ging bei mir nicht
Sicherlich kommt man mit Hilfsmitteln immer wieder an den Kreismittelpunkt. Aber stell dir mal vor, du hast ein Modell mit 1000 Flächen und 287 davon sind mit dem Kreistool erstellt worden. Manche mit 50, manche aber auch nur mit 4 oder 3 Eckpunkten. Wie soll man in Ruby dann ermitteln, welche Fläche mal ein Kreis war, welche ein Vieleck, welche ein Dreieck ... Das geht dann nur über eine Festlegung/Konvention, wie oben beschrieben (mit den Winkeln).
azuby
-
aber wenn ich einen kreis erstelle, und dann nur die kreiskante anklicke, dann sagt er mir doch in den elementinfos, dass es ein kreis (und wohlgemerkt nichts anderes) ist... also merkt SU sich doch die kreishaftigkeit, oder nicht?
-
@eeva said:
aber wenn ich einen kreis erstelle, und dann nur die kreiskante anklicke, dann sagt er mir doch in den elementinfos, dass es ein kreis (und wohlgemerkt nichts anderes) ist... also merkt SU sich doch die kreishaftigkeit, oder nicht?
Ah cool, ein Aufhänger. Wenn ich einen Kreis in Sketchup zeichne und dann mit Ruby in der Konsole ausgeben lasse, dann sieht das erstmal so aus:Sketchup.active_model.entities.each do |e| puts e.class end Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Edge Sketchup;;Face
Also nur Kanten und eine Fläche. Allerdings fand ich gerade die Methode Edge#curve, die mir erzählt, ob die Kante zu einer "Kurve" gehört. Das Kreishaftige ist also nicht an die Fläche gebunden, sondern an die Kante(n) der Fläche. Dann wird es natürlich einfach: Man hat also alle Einzelteile der Kurve (siehe Curve-Klasse) und muss nun nur noch alle Flächen des Modells durchgehen und prüfen, ob ihre Kanten mit denen der Kurve übereinstimmen.
Hier allerdings noch eine Überlegung dazu: Kann man nicht auch Kurven zeichnen, die keinen Kreis beschreiben, sondern entweder frei sind oder z.B. sowas wie eine 8 beschreiben (oder einen Schneemann, ganz nach Belieben)? Ihr seht schon, im Anwenden von Sketchup bin ich eine Null , ich schmeiß lieber den Schraubenschlüssel ins Getriebe
azuby
-
Hallo Azuby
- einen Kreis erstellen
- dann eine normale Fläche erstellen
- durch bloßes Drüberfahren über den Kreis versuchen, den Kreismittelpunkt zu ermitteln - ging bei mir nicht
Geht bei mir schon,Ich hab auch noch nach das erstellen von die Flächen erst mahl Sketchup beëndet und wider hochgefahren und dan ehrts bemast und den Mittelpunkt erfast um eine Linië zur erstellen vom Mittelpunkt.
Gruss Bep
-
Hihi, ich scheine dafür irgendwie zu doof zu sein Ich habe das Linienwerkzeug gewählt und dann bin ich damit über die Fläche deines Modells gefahren, die die Beschriftung "Linie von mittelpunkt" trägt. Das Werkzeug ist aber nirgends eingeschnappt. Irgendwann später, während ich hier an diesem Forumsbeitrag geschrieben habe, schnappte das Werkzeug dann doch am Mittelpunkt ein. Manchmal scheint das nur zu gehen, wenn ich vorher über dem Mittelpunkt einer Kante ruhe ... Sehr mystisch. Ich gucke mal morgen oder übermorgen, ob auch an der Fläche irgendwo ein Vermerk zu finden ist, dass es sich um eine Fläche handelt, von der man einen Mittelpunkt ermitteln kann. Mag ja sein, dass Sketchup das quasi bei der Mausbewegung live errechnet.
Ich geh jetzt aber besser erstmal schlafen, war ein stressiger Tag mit Gericht, Presseartikel, Drucksachenerzeugung, Programmierung, Website-Pflege, Briefverkehr, Einkauf, Foren-Moderierung ... selbst der Kaffee neben mir bringt's nimmer.
azuby
-
Guten Nacht ,Schlaf gut.
Bep
-
erst mal danke an alle für eure Antworten werde das alles mal durchprobieren, vielleicht kommen wir so weiter Aber der Kreismittelpunkt ist hier eigentlich wenigiger das Problem, den kann man finden (z.B. durch rechte Maus Punkt am Mittelpunkt)Das Problem lag im Exportieren eben diesen Kreises in ein anders Zeichenprogramm im Format DWG/DXF.
@eeva, ja klar ist es wenn ich in SU auf den Umfang klicke und dann Elementinformationen noch ein Kreis. Das Problem entsteht erst beim Exportieren in ein anderes Program im DWG/DXF Format. Hier wird dann nämlich kein "normaler" Kreis mehr angezeigt sondern viele einzelne Polygone, was sich in der Weiterverarbeitung eben als ungeschickt herausgestellt hat. Deshalb dachte ich es gäbe vielleicht eine Möglichkeit mittels Zusatzprogramm z.B. dies irgendwo anders einzustellen.
-
@dancingqueen said:
Gibt es eine Möglichkeit in SU einen Kreis zu zeichnen so das es auch "wirklich" ein Kreis ist und auch nach dem Exportieren bleibt?
nein, da SU ein Gitternetz (aka Mesh) basierter Modellierer ist und gar keinen "echten" Kreis sondern nur Polygone erstellen und somit auch nur exportieren kann.
"echte" Kreise/Ellipsen oder Kurven/Splines (oder Volumen) gibt es also nicht, für 2D Zeichnungen oder exakte 3D Modelle brauchts andere Tools.
@dancingqueen said:
Vielleicht mittels einer Zusatzfunktion...
ja, nennt sich CAD
Norbert
-
Naja Norbert, aber wir hatten jetzt ja schon rausgekriegt, dass die "Kreisigkeit" durchaus auch im Modell vermerkt wird. Ein Exporter braucht ja jetzt nur noch den Mittelpunkt errechnen, der von den Kreis-bildenden Kanten eingeschlossen wird und kann das Element dann anhand dieses Mittelpunktes und des Radius' rausschreiben.
azuby
-
-
Durch die Mehrfachnutzung von Kanten weiß der Kernel auch nicht immer so viel. Ich hab z.B. immer noch nix gefunden, das mir sagt, ob eine Fläche eine Kreisfläche ist, wenn ich mir NICHT ihre Kanten angucke.
Das für DXF/DWG ist eine Anregung meinerseits. Und wie man den Kreis rausschreibt - na du weißt schon - zielformatabhängig. Vorschlag als XML-Struktur:
<circle cx="[float]" cy="[float]" r="[float]" n="[float]" /> <!-- n für die Normale, damit der Kreis auch schräg im Raum liegen kann //-->
oder
<circle cx="[float]" cy="[float]" x="[float]" y="[float]" />
Aber wenn wir schon dabei sind: Weißt du, ob man in Sketchup Kanten zu einer Curve zusammeensetzen kann, sodass sie keinen Kreis bilden, sondern z.B. die Kontoren eines Schneemanns?
azuby
Advertisement