Autor
|
Thema: Reihenfolge als Batch (720 mal gelesen)
|
Vogl-Kloyer Mitglied Landschaftsarchitekt
 
 Beiträge: 250 Registriert: 12.03.2001
|
erstellt am: 08. Apr. 2003 17:47 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich hätte da so eine Idee bezüglich des schon mal angesprochenen Reihenfolgeproblems bei Elementen. Wenn man mit der Funktion "Flächen erzeugen und bearbeiten" mit Parametern eine Batchdatei erzeugen könnte, dann wäre es z.B. möglich festgelegte Übergruppen von Layern auf Knopf- druck in eine bestimmte Überdeckungsreihenfolge zu bringen. Also Layer 400 (mit allen Unterlayern) nach oben, Layer 300 nach oben, Layer 200 nach oben usw. Nur ich hab das Problem, dass bei Verwendung von MegaConfig zum Erzeugen einer Batchdatei sich zwar die Funktion "Flächen erzeugen und bearbeiten" aufrufen lässt, jedoch keine weiteren Funktionen (Reihenfolge) und Parameter angegeben werden können? Oder kann man Parameter direkt in die Batchdatei eintragen, aber wo steht geschrieben was und wie? Vielleicht hat jemand Rat. Grüsse, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry Scholtysik Mitglied Architekt
  
 Beiträge: 695 Registriert: 02.03.2001 MegaCad 2017 2D Windows 7 prof. www.architekt-scholtysik.de
|
erstellt am: 08. Apr. 2003 18:10 <-- editieren / zitieren --> Unities abgeben:          Nur für Vogl-Kloyer
Hallo Christoph, ich fände es viel einfacher, wenn ich auf einfache Weise die Füllungen und Schraffuren in den Hintergrund schicken könnte. Noch schöner fände ich es, wenn die nach dem Erzeugen erst mal sowieso dort wären. Die Frage ist, was ist öfter wo? Muß ich in der Regel mehr Elemente nach vorne holen oder nach hinten legen, um das gewünschte Ergebnis zu bekommen (bei mir fast immer: Füllungen nach hinten). Dafür sollte es dann eine Funktion geben (die nicht so schön versteckt ist). Gruß Henry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Vogl-Kloyer Mitglied Landschaftsarchitekt
 
 Beiträge: 250 Registriert: 12.03.2001
|
erstellt am: 08. Apr. 2003 18:33 <-- editieren / zitieren --> Unities abgeben:         
Hallo Henry, ich versteh schon, dass es bei vielen Anwendern "nur" darum geht, dass die Linien einfach allgemein von den Schraffuren bzw. Füllungen nicht abgedeckt werden. Unser Problem ist allerdings etwas umfangreicher: In unseren Plänen liegen öffters mehrere Füllungen übereinander. Einfaches Beispiel: Plan für einen Garten: Rasenfläche farbig gefüllt, Bäume farbig gefüllt darüber, über den Bäumen Symbole mit Füllung. Die Überdeckung muss man immer über "Flächen erzeugen und bearbeiten" -> Reihenfolge -> auswählen etc. Stück für Stück neu durchspielen. Wir erstellen auch komplexere Pläne z.B. Bebauungspläne. Hier sind wesentlich mehr Dinge enthalten die sich gegenseitig ab- oder überdecken. Hier wär eben eine feste Layerabdeckungshierarchie sehr praktisch. Zur Not ging es eben auch mit einer Batch-Datei (siehe mein obiger Beitrag). Aber wie?? Ich hab auch in der Hilfe- Doku zur Batchfunktion nichts für mich Verwertbares gefunden. Grüsse, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Henry Scholtysik Mitglied Architekt
  
 Beiträge: 695 Registriert: 02.03.2001 MegaCad 2017 2D Windows 7 prof. www.architekt-scholtysik.de
|
erstellt am: 09. Apr. 2003 08:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Vogl-Kloyer
Hallo Christoph, das leuchtet mir ein. Ich kann mir vorstellen, daß eine regelrechte "Überdeckungshierarchie" zu einem argen Gewurstel ausartet. Derzeit ist die "Reihenfolge" wohl eine Eigenschaft des Elements und nicht der Layer oder Gruppen. Ich könnte mir vorstellen, daß - wenn es sich als Layereigenschaft einrichten läßt - der jeweils in der Liste weiter oben stehende Layer die weiter unten stehenden überdeckt. Damit wäre dann eine Überdeckungsreihenfolge leicht herstellbar (und durch die Layerstruktur auch voreinstellbar). Die Überdeckung wäre durch Ändern der Layerplazierung (geht ja ohne Nummer oder Name zu ändern) leicht zu regeln. Das Thema wurde ja auch schon diskutiert: http://ww3.cad.de/foren/ubb/Forum22/HTML/000299.shtml Aber vielleicht muß es oft genug auftauchen, damit sich was bewegt. Gruß Henry [Diese Nachricht wurde von Henry Scholtysik am 09. April 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dagehtnochwas Mitglied Dipl.-Ing. Konstruktionstechnik (FH)
  
 Beiträge: 586 Registriert: 09.10.2002 die MegaCAD Newsgroup Site http://megacad.cad.de
|
erstellt am: 09. Apr. 2003 20:50 <-- editieren / zitieren --> Unities abgeben:          Nur für Vogl-Kloyer
Vielleicht wird das Problem schrittweise einfacher. Das Grundproblem sind zunächst mal die Elemente in Verbindung mit einer Fläche. Der gewünschte Schalter hierfür wäre sehr (sehr!) hilfreich. Wenn wir dann mehrere Flächen zueinander haben, dann hilft vielleicht folgender Trick: zusammenhängende Elemente und die zugehörige Fläche als Baugruppe erstellen - damit man auch verdeckte Elemente mit selektieren kann. Wenn Flächen über Flächen plaziert werden, dann wird immer die erste verdeckt. Über >kopieren< läßt sich die erste dann aber wieder nach vorne holen. Während des Kopieren kann ich dabei die Baugruppe, die ich gerade kopiere löschen (Löschfunktion auf Taste). Damit entstehen keine doppelten Elemente und ein Kopierweg von null ist ja möglich - wäre auch als kleines C-Programm recht schnell realisierbar. Für eine definierte Reihenfolge hatte ich eigentlich ans 3D gedacht. Aber leider haben die Flächen nicht wirklich eine dritte Koordinate, über die die Verdeckung räumlich ausgewerten wird - schade. Den Lösungsansatz über Layersteuerung finde zu theoretisch, außerdem muß die Layersteuerung eh schon für so viel herhalten. Gruß aus Kiel Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Vogl-Kloyer Mitglied Landschaftsarchitekt
 
 Beiträge: 250 Registriert: 12.03.2001
|
erstellt am: 11. Apr. 2003 12:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas, das man über Kopieren eines Objektes, sozusagen ein Neuzeichnen erzwingt ware schon eine Möglichkeit. Vielleicht könnte man hier leichter Parameter einbringen als mit der Reihenfolge-Funktion in "Flächen erzeugen und bearbeiten". Eine Baugruppe erzeugen scheint mir zu umständlich zu sein. Jedoch ist die Reihenfolge-Funktion ja eingentlich für die Umorganisation da. Ich weiß jedoch nicht wie man da Parameter rankriegen könnte. Ich hab auch in der Dokumentation zur C-Schnittstelle nichts darüber gefunden. Das mit den Layern ist halt insofern sinnvoll, da dies die beste Möglichkeit ist um verschiedene Elemente, Flächen, Baugruppen uws. die logisch (innerhalb der Abdeckungshierarchie) zusammengehören, eben auch zusammen einfach auswählen zu können. Mir ging es gar nicht umbedingt um den Wunsch eine Abdeckungsfunktion im Layermenü zu haben (wenn dies auch toll wäre), sondern darum mittels der Funktion Reihenfolge mehrere Arbeitsgänge in einem Aufwasch erledigen zu können. Könnte ja auch sein: Schraffur nach oben, dann Linien nach oben, dann Bemaßung nach oben, dann irgenwelche Symbolketten nach oben usw. (Die ersten Elemente die angewählt wurden liegen dann zum Schluß ganz unten) Man kommt an diese Funktion jedoch scheins gar nicht direkt ran, und diese kann scheins auch nicht mit Parametern versehen werden. Vielleicht ging das ja mit dem Kopieren. Nur wie kriegt man dann das Ausgangselement das auf dem gleichen Layer darunter liegt wieder weg? Grüsse, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Vogl-Kloyer Mitglied Landschaftsarchitekt
 
 Beiträge: 250 Registriert: 12.03.2001
|
erstellt am: 11. Apr. 2003 13:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas, hab das mit dem Kopieren (ohne Programm) schnell mal probiert. Stimmt schon: während des Kopiervorganges kann man den z.B. eben angewählten Layer löschen. Dann bleibt nur noch das neu Kopierte und ist dann auch drüber. Keine schlechte Idee. Wäre z.B. eine Möglichkeit, dass so ein Progrämmchen die Parameter aus einer ini-Datei entnimmt, und man diese dann ja auch ganz nach Bedarf editieren könnte. Z.B. Lay: 800, 700, 600 etc. Kann leider nicht programmieren. Wäre das sehr zeitaufwändig und teuer? Besser wäre jedoch, wie gesagt das gleiche mit der Reihenfolgefunktion. Grüsse, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dagehtnochwas Mitglied Dipl.-Ing. Konstruktionstechnik (FH)
  
 Beiträge: 586 Registriert: 09.10.2002 die MegaCAD Newsgroup Site http://megacad.cad.de
|
erstellt am: 11. Apr. 2003 14:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Vogl-Kloyer
Hey Christoph, das erstellen einer Baugruppe ist gar nicht mehr so kompliziert. Über DB (im Menü) kann man einfach ein Baugruppe >Erstellen< - fertig. Darüber erfolg dann eine direkte Zusammengehörigkeit der Elemente und nicht erst über den Layer-Umweg. Grundidee zum C-Programm: Mit >ClickMacro< das Macro antippen, was nach vorne soll. Dann ein neues Macro erstellen >CreateMacro< mit den Elementen des angetippten (Aufwand?) und schließlich das getippte Macro löschen (geht wieder einfach mit >DeleteMacro< ). Einfach mal etwas stöbern im Unterverzeichnis CC von MegaCAD Die Datei Megacint.hlp ist sehr übersichtlich. Aber Vorsicht, die Beispiellistings, aus der Hilfedatei sind nicht auf Stand. Die Listings im CC-Verzeichnis sind bereits überarbeitet und deutlich besser kommentiert - Dank an Herrn Knoop :-) Gruß aus Kiel Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Vogl-Kloyer Mitglied Landschaftsarchitekt
 
 Beiträge: 250 Registriert: 12.03.2001
|
erstellt am: 11. Apr. 2003 16:00 <-- editieren / zitieren --> Unities abgeben:         
Hallo Thomas, über die logische Gruppierung mittels der Baugruppenfunktionen lassen sich die gewünschten Elemente zusammen "höher" legen. So weit so gut. Wenn jetzt jedoch weitere Elemente zeichne müssen diese ja erst wieder in die richtige Baugruppe hinein. Wenn man sich nun eine feste Ordnung zurechtgelegt hat, dann kann man die Attribute von vorhandenen Elementen abgreifen. Wir haben uns da eine Art "Musterpalette" gebastelt die am Planrand angefügt wird und die dann mit gespeicherter Zoomeinstellung auf den Bildschirm geholt werden kann. Von dieser weden die benötigten Attribute geholt. Das sind aber Farben, Linienstärke, Layer, Gruppe usw. Ich kann natürlich hier nicht die Zugehörigkeit zu einer bestimmten Baugruppe herholen. Zudem taucht dann z.B. beim Löschen immer das Baugruppenfenster auf (ganze Baugruppe löschen? etc.). Ich hab mal im CC-Ordner nachgesehen. Ist ganz gutes Beispielmaterial drin. Wo gibts denn eine komplette Auflistung aller in der CC-Schnitstelle verwendbaren Funktionen. Die auf www.megacad.de herunterladbare Doku sieht irgendwie nicht ganz vollständig aus. Grüsse, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Vogl-Kloyer Mitglied Landschaftsarchitekt
 
 Beiträge: 250 Registriert: 12.03.2001
|
erstellt am: 11. Apr. 2003 17:41 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, ich hab jetzt mal bei einer größeren Datei die zwei Möglichkeiten (über Reihenfolge, über Baugruppe...) ausprobiert, und musste erstaunt feststellen, dass das über die Baugruppensache ein gutes Stück schneller geht. Das mit den Baugruppen könnte ganz gut funktionieren, wenn die soeben erzeugte Baugruppe gleich wieder aufgelöst wird (war vermutlich von Thomas so gemeint). Könnte das dann so gehen?: Baugruppe erzeugen -> Zur Auswahl aus Ini-Datei die erste Layernummer entnehmen -> Noch ausgewählte Baugruppe wieder auf- lösen (jedoch Untergruppen belassen, weil sonst schon vorhandene vereinzelte Macros mit aufgelöst werden), dann wieder Baugruppe erzeugen -> nächste Layernummer entnehmen usw. Es könnten da ja auch andere Auswahlkriterien möglich sein, z.B. alles bis auf Füllungen. Dann wären mit einem Knopfdruck die Füllungen alle unten. Die Layer sind uns halt sehr wichtig, weil sich so eine feste Ordnungsstruktur fürs Zeichnen vorgeben läßt. Jetzt müsste sich nur noch jemand finden der das umsetzt. Grüsse, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dagehtnochwas Mitglied Dipl.-Ing. Konstruktionstechnik (FH)
  
 Beiträge: 586 Registriert: 09.10.2002 die MegaCAD Newsgroup Site http://megacad.cad.de
|
erstellt am: 13. Apr. 2003 22:09 <-- editieren / zitieren --> Unities abgeben:          Nur für Vogl-Kloyer
Hallo Christoph, Du bist mit Deinen Gedanken immer noch zu sehr an die Layerstruktur gebunden. Ich will gar keine Baugruppen auflösen. Genau die geben mir doch den Zusammenhang über die Geometrieelemente. Über die Baugruppe will ich auf sie zugreifen - nicht über den Layer. Die Layersteuerung wurde zur Baugruppenverwaltung oder ähnlichem zweckentfremdet, weil es bisher zu kompliziert oder gar unmöglich war über die Baugruppen so zu arbeiten. Die Funktionen aus dem DB-Menü sollte man sich wirklich mal näher ansehen! Thomas [Diese Nachricht wurde von dagehtnochwas am 13. April 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |