| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: arx2007 ?? 3d entity (1107 mal gelesen)
|
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 12:39 <-- editieren / zitieren --> Unities abgeben:
hallo hallo! würde gerne wissen ob hier irgendjemand eine idee hat wo ich ein tutorial für arx2007 herbekommen. ich bekomme es nicht auf die reihe ein AcGe..objekt, z.b. cylinder wie auch immer in autocad als entity einzufügen. genauso bekomme ich es nicht hin einem AcDb3dSolid koordinaten zu geben, an denen es in autocad eingefügt wird. die dokumentation in arx2007 ist wirklich ....! es gibt nicht mal eine lab-übung, in der man simple 3d-objekte definiert und als entity einfügt ..oder ich habe nicht richtig nachgeschaut.. außerdem sollte das ganze mit api-funktionen ablaufe und weniger mit resbuf-strukturen und den dazugehörigen funktionen!! .. jeder tipp ist goldwert .. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 22. Nov. 2006 12:42 <-- editieren / zitieren --> Unities abgeben: Nur für argh
|
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 13:07 <-- editieren / zitieren --> Unities abgeben:
|
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 13:48 <-- editieren / zitieren --> Unities abgeben:
nun gut, dann frage ich: ich bekomme Punkt1, Punkt2 und radius! ich will einen zylinder so erstellen: AcDb3dSolid *pCylinder = new AcDb3dSolid(); pCylinder->createFrustum(height,r,r,r); - blocktable öffnen - b.t.-record öffnen wie übergebe ich meinem 3dsolid die koordinaten zwischen denen er entstehen soll, wie mache ich ihn zu einem entity und fürge ihn in die db ein???? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 13:49 <-- editieren / zitieren --> Unities abgeben:
|
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 22. Nov. 2006 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für argh
hallo, also wenn du dies sdk hast ( + help files + samples und lab), müsstest du eigentlich klar kommen. ...unter ObjectARX 2007\utils\brep\samples z.b. gruss criecky ------------------ Softlan macht das Netzwerk weich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 22. Nov. 2006 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für argh
nur als weitere hilfe // code auszug AcDb3dSolid* p3dsolid = new AcDb3dSolid(); // object erzeugen es = p3dsolidv->extrude(deinregionobject ,Thick,0.0); //acdbregion-object übergeben p3dsolid->setLayer(laydest ); // bespiel für eigenschaft setzen idSolido = appendEntToDb(p3dsolid); // in datenbank einfügen es = p3dsolid->close(); // schliesen createFrustum ist nur zur erzeugung von zylindern..
createFrustum(double height,double xRadius,double yRadius,double topXRadius); pCylinder->createFrustum(h,r,r,r); //ist doch okay einfach double werte reinschreiben oder vorher delarieren und mit werten füllen criecky ------------------ Softlan macht das Netzwerk weich!
[Diese Nachricht wurde von criecky am 22. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 14:39 <-- editieren / zitieren --> Unities abgeben:
appendEntToDb -> woher stammt diese funktion?? ist es deine eigene, die blocktable,blocktabelrecord-sachen übernimmt? ansonsten erstmal meinen allergrößten dank, die utils scheinen nützliche beispiele zu enthalten!!! danke!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 22. Nov. 2006 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für argh
|
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 15:12 <-- editieren / zitieren --> Unities abgeben:
nochmals vielen dank! eine frage hätt ich noch! wie sag ich meinem solid-cylinder, wo sein start-mittelpunkt, bzw. endpunkt ist?? muss ich jetzt einen body definieren, in dem der 3dsolid-cylinder sitzt oder kann ich einfach 2 punkte an das objekt übergeben, da es ja sowieso schon ein Zylinder ist (durch createFrustum)?!? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 22. Nov. 2006 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für argh
hallo, ich finde es bemerkenswert und schön wenn menschen nur vordern und nichts geben tun.... siehe deine hilfe für andere in diesen oder in einen anderen cad.de forum *** prima ich bin stolz so einen menschen zu helfen aber du hast schon mal in einen anderen beitrag "mitgewirkt" zum kern der frage: das ist ganz einfach z. B du leitest eine klasse von acdbsolid3d ab und überlädtst den konstruktur mit center point und mit allem was du noch willst. sollte ja kein problem für dich sein weil ja c++ nicht so wichtig ist. übrigens danke für die unities !!!
------------------ Softlan macht das Netzwerk weich! www.cbyte.de [Diese Nachricht wurde von criecky am 22. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 16:45 <-- editieren / zitieren --> Unities abgeben:
warum der plötzliche sarkasmus?? habe nie gesagt, dass c++ nicht wichtig sei! für anfänger ist die ganze arx-sache nun mal ein wenig zum *grinsen*! außerdem fordere ich nicht! und warum soll ich was geben, wenn ich noch nicht genug wissen hab um es zu teilen, desshalb bin ich ja auch dankbar für alles was mich weiterbringt (was ich von Dir und deinesgleichen lerne). sobald ich zeit und ruhe habe werde ich natürlich mein wissen mit denen, die noch nicht so weit sind wie ich teilen! basta? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 16:51 <-- editieren / zitieren --> Unities abgeben:
|
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 22. Nov. 2006 17:55 <-- editieren / zitieren --> Unities abgeben: Nur für argh
schon besser .... aber findest du nicht das es einfacher wäre erstmal zu lernen grundobjekte zu erzeugen oder zu verändern ... bevor man an komplexe objecte geht... was hast du eigentlich vor??? willst du "nur" lernen oder hast du eine spez. aufgabe. gruss criecky ------------------ Softlan macht das Netzwerk weich! www.cbyte.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 22. Nov. 2006 19:29 <-- editieren / zitieren --> Unities abgeben:
naja ich muss mich tiefgreifend mit der arx sache auseinandersetzen, da es meine derzeitige aufgabe am arbeitsplatz (ausbildungsplatz) ist. meine aufgabe besteht darin eine applikation, mit der man bequem rohrleitung / bögen / zusätzliche bauteil (pumpen etc.) in autocad zusammenfügen kann, zu "modernisiert". die arx kommuniziert ausschließlich über die resbuf-struktur mit autocad. ich muss die meisten der resbufs durch arx-klassen und deren funktionen ersetzen. bei den einfachen sachen (circle, line, point) ist es nicht schwer gewesen. jetzt bin ich beim erzeugen des zylinders (rohres). alle vorhandenen funktionen sind mit einer vielzahl zusätzlicher mathematischer funktionen verbunden, was die sache nicht einfacher macht, weil ich diese zum teil ebenfalls anpassen / ersetzen / entfernen muss. warum die ganze angelegenheit? :: das permanente verwenden der resbuf-strukturen und teilweise nicht richtige allokieren und befreien von speicher im zusammenhang mit diesen hat ein programm-globales speicherproblem (leaks / access violation) hervorgerufen. hinzu kam, dass autocad2007 nur unicode akzeptiert, aber diese sache habe ich inzwischen gelöst. richtig haarig wird es bei den selection-sets. naja im moment versuche ich die rohrleitung (cylinder) als AcDbSolid3d zu erzeugen. die funktion die ich neu scheibe bekommt startpunkt, endpunkt und radius des rohres. createFrustum ist sehr vorteilhaft, weil ich die funktion so bauen kann, dass sie rohrleitung und reduzier-/verbreiterungsstück bauen kann. das solid ist aber halt ein solid ich muss es positionieren. die punkte hab ich .. das rohr ebenfalls. naja soviel dazu. ... arx ist eine feine sache, es würde mich nur sehr beglücken, wenn es z.B. ein deutsches tutorial geben würde oder ein paar beispiele die es in meinem fall ein bischen mehr auf den punkt bringen. (cylinder / verkettung von cylinder-entitys ...)! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 22. Nov. 2006 21:09 <-- editieren / zitieren --> Unities abgeben: Nur für argh
Zitat: Original erstellt von criecky: schon besser .... aber findest du nicht das es einfacher wäre erstmal zu lernen grundobjekte zu erzeugen oder zu verändern ... bevor man an komplexe objecte geht...was hast du eigentlich vor??? willst du "nur" lernen oder hast du eine spez. aufgabe. gruss criecky
------------------ Softlan macht das Netzwerk weich! www.cbyte.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
argh Mitglied
Beiträge: 41 Registriert: 02.11.2006
|
erstellt am: 23. Nov. 2006 08:23 <-- editieren / zitieren --> Unities abgeben:
|
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 23. Nov. 2006 11:25 <-- editieren / zitieren --> Unities abgeben: Nur für argh
|