feat: publish app bundle test
This commit is contained in:
@ -65,8 +65,8 @@ namespace DebugPluginLocally
|
||||
// create a copy
|
||||
System.IO.File.Copy(boxPath, boxPathCopy);
|
||||
|
||||
// open box.ipt by Inventor
|
||||
Document doc = app.Documents.Open(boxPathCopy);
|
||||
// open boxcopy.ipt by Inventor
|
||||
Document doc = app.Documents.Open(boxPathCopy);;
|
||||
|
||||
// get params.json absolute path
|
||||
string paramsPath = System.IO.Path.Combine(projectdir, @"inputFiles\", "params.json");
|
||||
@ -78,10 +78,8 @@ namespace DebugPluginLocally
|
||||
map.Add("_1", paramsPath);
|
||||
|
||||
// add extra parameters to showcase newly supported parsing and new helper class NameValueMapHelper
|
||||
map.Add("intIndex", "1");
|
||||
map.Add("stringIndex", "test");
|
||||
map.Add("stringCollectionIndex", "str1, str2, str3");
|
||||
map.Add("intCollectionIndex", "34, 256, 9999, 500, 43");
|
||||
map.Add("height", "5.0");
|
||||
map.Add("width", "10.0");
|
||||
|
||||
|
||||
// create an instance of MachinePlannerExportPlugin
|
||||
|
@ -17,10 +17,8 @@
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using Autodesk.Forge.DesignAutomation.Inventor.Utils;
|
||||
using Autodesk.Forge.DesignAutomation.Inventor.Utils.Helpers;
|
||||
using Inventor;
|
||||
|
||||
@ -47,37 +45,63 @@ namespace MachinePlannerExportPlugin
|
||||
|
||||
try
|
||||
{
|
||||
// Using NameValueMapExtension
|
||||
if (map.HasKey("intIndex"))
|
||||
// Parameter aus der Config lesen
|
||||
double height = 1.0;
|
||||
if (map.HasKey("height"))
|
||||
{
|
||||
int intValue = map.AsInt("intIndex");
|
||||
LogTrace($"Value of intIndex is: {intValue}");
|
||||
height = map.AsDouble("height");
|
||||
}
|
||||
|
||||
if (map.HasKey("stringCollectionIndex"))
|
||||
double width = 1.0;
|
||||
if (map.HasKey("width"))
|
||||
{
|
||||
IEnumerable<string> strCollection = map.AsStringCollection("stringCollectionIndex");
|
||||
|
||||
foreach (string strValue in strCollection)
|
||||
{
|
||||
LogTrace($"String value is: {strValue}");
|
||||
}
|
||||
width = map.AsDouble("width");
|
||||
}
|
||||
|
||||
if (doc.DocumentType == DocumentTypeEnum.kPartDocumentObject)
|
||||
string name = "Box";
|
||||
if (map.HasKey("name"))
|
||||
{
|
||||
using (new HeartBeat())
|
||||
{
|
||||
// TODO: handle the Inventor part here
|
||||
}
|
||||
}
|
||||
else if (doc.DocumentType == DocumentTypeEnum.kAssemblyDocumentObject) // Assembly.
|
||||
{
|
||||
using (new HeartBeat())
|
||||
{
|
||||
// TODO: handle the Inventor assembly here
|
||||
}
|
||||
name = map.AsString("name");
|
||||
}
|
||||
|
||||
// Neues Part-Dokument anlegen
|
||||
PartDocument partDoc = (PartDocument)inventorApplication.Documents.Add(DocumentTypeEnum.kPartDocumentObject,
|
||||
inventorApplication.FileManager.GetTemplateFile(DocumentTypeEnum.kPartDocumentObject), true);
|
||||
|
||||
PartComponentDefinition compDef = partDoc.ComponentDefinition;
|
||||
compDef.Document.Name = name; // Set the document name
|
||||
|
||||
// 2D-Skizze auf XY-Ebene anlegen
|
||||
PlanarSketch sketch = compDef.Sketches.Add(compDef.WorkPlanes[3]); // 3 = XY Plane
|
||||
|
||||
// Rechteck zeichnen
|
||||
sketch.SketchLines.AddAsTwoPointRectangle(
|
||||
inventorApplication.TransientGeometry.CreatePoint2d(0, 0),
|
||||
inventorApplication.TransientGeometry.CreatePoint2d(width, height)
|
||||
);
|
||||
|
||||
// Rechteck extrudieren (Würfel)
|
||||
Profile profile = sketch.Profiles.AddForSolid();
|
||||
ExtrudeDefinition extrudeDef = compDef.Features.ExtrudeFeatures.CreateExtrudeDefinition(
|
||||
profile, PartFeatureOperationEnum.kJoinOperation);
|
||||
|
||||
extrudeDef.SetDistanceExtent(width, PartFeatureExtentDirectionEnum.kPositiveExtentDirection);
|
||||
ExtrudeFeature boxFeature = compDef.Features.ExtrudeFeatures.Add(extrudeDef);
|
||||
|
||||
|
||||
// Speicherort für das temporäre IPT
|
||||
string tempDir = System.IO.Path.GetTempPath();
|
||||
string partPath = System.IO.Path.Combine(tempDir, "CubeExport.ipt");
|
||||
partDoc.SaveAs(partPath, false);
|
||||
|
||||
// Jetzt ist FullFileName gesetzt und du kannst das Verzeichnis verwenden
|
||||
string stepPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(partDoc.FullFileName), "CubeExport.step");
|
||||
|
||||
// STEP-Export
|
||||
partDoc.SaveAs(stepPath, true); // true für STEP-Export, wenn als .step angegeben
|
||||
|
||||
// Optional: Log-Ausgabe
|
||||
LogTrace($"Würfel mit Breite={width} und Höhe={height} und Text '{name}' als STEP exportiert: {stepPath}");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
Reference in New Issue
Block a user