Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Konzept für Mengentabelle

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Konzept für Mengentabelle (2099 mal gelesen)
cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 23. Jan. 2018 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Ich bin daran ein Konzept für eine Applikation zu schreiben, die einfach gesagt eine technische Lösung bieten soll: Autocad mengen von Zeichnungobjekten (Eigenschaften wie Länge, Fläche, Stückzahl) mit einer Exceltabelle zu verknüpfen.

Mein erster Gedanke ist, eine Exceltabelle (die in Form einer Zusammenstellung aller Mengenkonten) in einen Autocad dialog (datagridview) zu importieren. In diesem datagrid kann man dann alle nötigen Zeichnungsobjekte markieren und deren Werte (anhand der Eigenschaften) in die dg-tabelle übergeben. Schlau wäre noch wenn die Objekte an die Tabelle geknüpft wären - einfach um sich kontrollieren zu können, dass keine Zeichnungsobjekte vergessen wurden.

Hatte jemand schon ähnlich Gedanken und hat eine fiffige Lösung, die zu optimalen Erfolg führt (lustige Formulierung, dass wollen wir Entwickler doch meistens erreichen!  )

------------------
Gruss Dirk
Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 23. Jan. 2018 11:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Hallo Dirk,

imgrunde benötigst du eine Basisklasse, die die Eigenschaften enthält, die jedes Entity hat:
ZeichnungsId | Handle | ObjectType | Layer | Farbe | Linientyp | ...

Von dieser Basisklasse erben dann alle anderen Klassen, in denen dann die Objektspezifischen Eigenschaften enthalten sind
Curve: Length | Area
BlockReference: Name | ...
...

Du merkst sicher, dass du das AutoCAD-Objektmodell nachprogrammierst ... was ich aufwändig und fragwürdig finde.

Daher hätte ich jetzt die Idee, das ganze mit WPF anzugehen und eine Liste aller AutoCAD-Elemente an die Gridview binden. Da du es aber immer noch mit unterschiedlichen AutoCAD-Elementen zu tun hast, würde ich alle Spalten manuell definieren und dann mit DataTempletes / Selektors und Convertern arbeiten, die die tatsächlichen AutoCAD-Objekteigenschaften in darstellbare Werte konvertieren.

Wenn die Spalten mit einem Filter versehen werden, kannst du ja das gefilterte Ergebnis abfragen .. und da immernoch die original-AutoCAD-Entities an die Gridview gebunden sind, ist es dann sehhr schnell und einfach möglich die Objekte in der Zeichnung zu markieren.

Ich arbeite für solche Dinge mit der Bibliothek von Telerik
Dann brauchst du dir auch nur wenige Gedanken um die Anzahl der einzelnen Elementtypen machen, in dem du noch ein paar AggregatZeilen und Gruppierungen in der Datagridview definierst.

So denn ...

Grüße!
Holger

PS: Im Zweifel über die Reflection alle gesuchten Eigenschaften von den AutoCAD-Elementen ermitteln und eine CSV oder XML schreiben. Das ist schnell gemacht und XML auch wieder sehr leicht in AutoCAD einzulesen. Bidirektionalität zu einer AutoCAD-Zeichnung ist ohnehin immer blöd, da ist man dann ganz schnell bei einer Zeichnungsverwaltung.

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 23. Jan. 2018 11:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Super danke für die Tips Holger! Ich gehe dem erstmal nach und komme später darauf zurück

------------------
Gruss Dirk
Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

Windows 10
64bit system
Autocad Civil3d 2020 ENGLISH
Visual Studio 2019
OpenDCL.Runtime.9<P>

erstellt am: 24. Jan. 2018 09:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Gut es ist erstmal geglückt eine Exceltabelle, die die Vorlage aller Mengenkonten beinhaltet in ein Datagridview zu lesen (bzw. sichtbar zu machen).
Danke für den Tip mit dem Telerik-Aufsatz. Ansich will ich ersteinmal simpel durchprobieren was möglich ist (mit wenig Kostenaufwand).

Kurz beschrieben ein neues Problem, wenn ich zugenannte Filter erstelle, die mir quasi ermöglichen zu jeweiliger den DGview-Zelle eine Mengen auszugeben. Dann müssen einmal die Objekte (Handles) zu der entsprechenden Zelle eingesammelt werden (Selection). Jetzt möchte ich jedoch sagen, dass diese Filter auch in der Excel mit Zeichnung veknüpft werden, damit beim wiederholten Aufruf der Datentabelle ebenfalls entsprechende Zeichnung ebenfalls gelesen wird (sobald Veränderungen auftreten - Alarm schlägt).

Einmal in Autocad, müsste ich die Filter in der Zeichnungsdatenbank ablegen, oder andernfalls eine separate Datei erzeugen in denen alle Filter gespeichert sind (damit vermeidet man vielleicht, das die Zeichnung sich unnötig aufbläst). -> Vielleicht ein Sql-server mit entsprechenden Projekt anlegen, damit keine Datenverluste (durch Usereingriffe) geschehen.

Gehe ich die Sache vielleicht zu kompliziert an. Habe mit sowas bisher wenig zu tun!

------------------
Gruss Dirk
Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 24. Jan. 2018 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

... ich verstehe nicht, was du da vor hast.
Excel/SQL-Server/Datagridview/AutoCAD - etliche Stellen, an denen die Infos vorliegen oder angezeigt werden sollen.

Du solltest dir Gedanken um die Prozesse machen, die mit dem Tool unterstützt werden sollen. Fang nicht damit an, den Prozess daran auszurichten, was dir auf deinem derzeitigen Kenntnisstand aktuell möglich erscheint!!! Das ist eine Einschränkung, die dazu führt, dass sich der Anwender an einen Prozess halten muss, der womöglich überhaupt nicht in die normalen Abläufe passt - die Folgen dürften klar sein.
Steht der Prozess, der mit einer Software/Programmierung unterstützt werden soll, dann kannst du dir die Gedanken machen, was die Software können muss und wie diese zu konzeptionieren ist. Das Programmieren selbst ist dann Fleißarbeit, denn in dem vorgenannten Punkten liegt die Lösung und das Knowhow (das nennt sich Prozess- und/oder Softwareberatung, mit man sogar Geld verdienen kann ohne auch nur eine Zeile Code schreiben zu müssen).

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 24. Jan. 2018 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sorry war wirklich kompliziert ausgedrückt.

1) Oft hat man in Excel ein ausgearbeitete Tabelle, in der alle Konton zur Mengenermittlung definiert sind
-> die soll in die Applikation geladen werden und als Grundlage der Verarbeitung dienen.

2) Im Datagridview der Applikation sieht so aus: shortcut!

3) Jetzt sollte es möglich sein für jede Zeile in Autocad die entsprechenden Zeichnungsobjekte zu filtern und als Menge im dg-view ausgeben lassen.
-> hier kommt es zu einer Frage, wie kann man es vereinbaren, dass Dwg-Zeichnung mit Excel-template so verknüpft werden, dass sie tatsächlich miteinander kommunizieren
-> als Resultat soll eine Excel-tabell mit allen Mengen ausgegeben werden, die aber auch die Autocad objekte(Handles) beinhaltet.

War das etwas deutlicher ?

------------------
Gruss Dirk
Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 24. Jan. 2018 11:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich


ScreenShot.png

 
Hallo Dirk,

nun glaube ich zu wissen, wo du hinwillst ... und siehe da: auch diese Aufgabe ist nicht neu und bereits gelöst (Screenshot anbei). Allerdings gaaanz anders.
Die Daten der Ausschreibung (lagen hier als GAEB-Dateien vor) werden strukturiert zur Ansicht gebracht und die Zeichnungselemente werden über XDatas / EED mit den Positionen der Ausschreibung verknüpft.

[Edit] Das Markieren und Anschreiben der Auscchreibungsposition  habe ich dann mit Overruling gemacht

Grüße!
Holger


------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 24. Jan. 2018 15:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Du steuerst alles in der Dwg (?), das will ich vielleicht vermeiden und in einer externen Db (xml) halten. Damit könnte auch eine Schnittstelle zu anderen Programmen aufgebaut werden.

------------------
Gruss Dirk
Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 24. Jan. 2018 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

[Zeichnung].[Entity]<->[XML]<->[Excel] ... sieht nach einem großen Synchronisationsaufwand aus.

Bei meiner Lösung ist es egal, ob die Verlinkung gespeichert ist, denn der Schlüssel ist in der Excel vorhanden und auch in der Zeichnung und hängt dort direkt am Zeichnungselement.

Kommt jetzt jemand her und speichert die Zeichnung unter einem anderen Namen (was wohl häufiger vorkommt / vorkommen kann) geht die Verlinkung verloren oder man treibt einen Aufwand um sicherzustellen, dass die Zeichnung immer die richtige XML findet. ... usw. Wenn man die übliche Arbeitsweise der Anwender zugrunde legt, dass ein neuer Index (sowohl der Zeichnung als auch der Excel-Datei) durch Kopieren + Umbenennen der Dateien erfolgt ... dann muss man denen einen Prozess auf's Auge drücken, dass die beiden Dateien und die XML-Datei irgendwie wieder einander bekannt gemacht werden müssen. Aus meiner Sicht ist das nicht praktikabel.

Je weniger Schnittstellen, desto weniger Aufwand und auch geringere Gefahr, dass die Daten auch tatsächlich zueinander passen! Besteht auch nur der leiseste Verdacht, dass die Daten nicht synchron sind ... dann wird nie jemand deinem Tool vertrauen und doch alles von Hand machen.

Der Anwender ist König! Am Ende wirst du danach bewertet, wie leicht sich das Werkzeug in den Alltag integriert und wie leicht es anzuwenden ist. Die internen Hockstrecksprünge, die du bei der Programmierung machen musst, um genau das zu erreichen, sieht niemand, kann niemand nachvollziehen, interessiert auch niemanden.
(übrigens auch ein Grund für mich gewesen, auf wpf/xaml und Datenbindung zu wechseln, gerade in Verbindung mit Telerik)

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 24. Jan. 2018 16:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für cadplayer 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von cadplayer:
... in einer externen Db (xml) halten. Damit könnte auch eine Schnittstelle zu anderen Programmen aufgebaut werden.

Grundsätzlich ist der Gedanke richtig ... die Synchronisation der Daten ist dann allerdings trotzdem ein Problem. Da der Stand der in der DB gespeicherten alphanumerischen Daten immer mit einer bestimmten Zeichnung korrelieren muss, mache ich so etwas nur, wenn dann auch die Zeichnung in der Datenbank gespeichert ist .. sonst herrscht Chaos! Daraus folgt dann aber auch, dass eine (mini) Zeichnungsverwaltung dazugehört. Und selbst in einer Minimallösung, ist dass ein riesiger Aufwand.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cadplayer
Ehrenmitglied
CADniker


Sehen Sie sich das Profil von cadplayer an!   Senden Sie eine Private Message an cadplayer  Schreiben Sie einen Gästebucheintrag für cadplayer

Beiträge: 1832
Registriert: 28.04.2009

erstellt am: 24. Jan. 2018 18:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

sehr guter vorschlag samt erläuterung -Danke

------------------
Gruss Dirk
Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz