Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  Bohrung mittels API

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:  Bohrung mittels API (742 mal gelesen)
Andreas Tost
Mitglied
Softwareentwickler


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

Beiträge: 30
Registriert: 21.11.2002

erstellt am: 16. Sep. 2008 14:45    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 API-Freunde,

ich versuche gerade im Inventor mittels API Bohrungen auf einer Fläche zu setzen, leider funktionioniert dies einfach nicht, weil
<SketchHolePlacementDefinition> immer einen NULL-Pointer bringt.
Laut Inventor-Hilfe müßte es aber so gehen.

Was mache ich falsch ???

Im folgenden ein Programmausschnitt der das wesentliche enthält:

// Get PlanarSketches
CComPtr<PlanarSketches> pSketches;
hr = pPartDef->get_Sketches(&pSketches);
// Get standard WorkPlanes
CComPtr<WorkPlanes> pWorkPlanes ;
hr = pPartDef->get_WorkPlanes(&pWorkPlanes);
// Get the standard XY work plane
CComPtr<WorkPlane> pWorkPlane ;
hr = pWorkPlanes->get_Item(CComVariant(3), &pWorkPlane);
// Create a new sketch on the X-Y work plane.
CComPtr<PlanarSketch> pSketch;
hr = pSketches->Add(pWorkPlane, false, &pSketch);
CComPtr<TransientObjects> pTrObj;
hr = _pApplication->get_TransientObjects(&pTrObj);
// Set reference to transient geomtry object
CComPtr<TransientGeometry> pTrGeom;
hr = _pApplication->get_TransientGeometry(&pTrGeom);
// Create center point
CComPtr<Point2d> pCenterPoint;
hr = pTrGeom->CreatePoint2d(0, 0, &pCenterPoint);
// Get Features
CComPtr<PartFeatures> pFeatures;
hr = pPartDef->get_Features(&pFeatures);

/********  Bohrung */
// Set a reference to the HoleFeatures collection object.
CComPtr<HoleFeatures> pHoleFeatures;
hr = pFeatures->get_HoleFeatures(&pHoleFeatures);
ObjectCollectionPtr pPoints = pTrObj->MethodCreateObjectCollection();
hr=pPoints->Add(pCenterPoint);
CComPtr<SketchHolePlacementDefinition> pSketchHolePlacementDefinition =pHoleFeatures->CreateSketchPlacementDefinition(pPoints);
pHoleFeatures->MethodAddDrilledByThroughAllExtent(pSketchHolePlacementDefinition,"1 cm",kPositiveExtentDirection);

Ich bin über jeden Hinweis dankbar

mit bestem Dank und freundlichen Grußen
Andreas


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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012

erstellt am: 16. Sep. 2008 15:08    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 Andreas Tost 10 Unities + Antwort hilfreich

Hallo Andreas,

ich bin mir nicht sicher, und kann jetzt auch nicht testen, aber in der Doku wird ein SketchPoint verlangt, du aber hast ein Point2d.

Code:

CComPtr<Point2d> pCenterPoint;
hr = pTrGeom->CreatePoint2d(0, 0, &pCenterPoint);

Solltest vielleicht deiner Skizze einen SketchPoint mit der Definition des CenterPoints hinzufügen? Ist nur eine Vermutung.

PS: Und bitte die Code-Tags benutzen - ist viel lesbarer.


------------------
Grüße Igor

FX64 Software Solutions - Inventor Tools

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