cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

Does anyone know how to calculate drawing view height and width by view outline.

syalagudri
12-Amethyst

Does anyone know how to calculate drawing view height and width by view outline.

I can get drawing view outline using API "ProDrawingViewOutlineGet". I want to know how to get view height and width using this outline ?

 

Thanks,

Suresh

1 ACCEPTED SOLUTION

Accepted Solutions

Following is the right code:

 

Transform3D sheetTransp = drawing.GetSheetTransform(sheetNumber);
Outline3D outline = view.GetOutline();

Point3D point1 = Point3D.create();
point1.set(0, outline.get(0).get(0));
point1.set(1, outline.get(0).get(1));
point1.set(2, outline.get(0).get(2));

Point3D point2 = Point3D.create();
point2.set(0, outline.get(1).get(0));
point2.set(1, outline.get(1).get(1));
point2.set(2, outline.get(1).get(2));

Point3D point11 = sheetTransp.TransformPoint(point1);
Point3D point21 = sheetTransp.TransformPoint(point2);

double width = point21.get(0) - point11.get(0);
double height = point21.get(1) - point11.get(1);

 

 

View solution in original post

3 REPLIES 3

In CREOSON (Open Source Creo Automation) - you can simply run :

 

drawing : view_bound_box

 

and you will get this back:

 

{
  "status": {
    "error": false
  },
  "data": {
    "xmin": 5,
    "xmax": 30,
    "ymin": 12.5,
    "ymax": 15
  }
}

 

Then it is just a bit of simple math to get the size.

 

You might look at the source for how that works as a way to help.

 

Dave

Thanks. It was simple math solution with sample Jlink code:

view.SetDisplay(display);
Outline3D outline = view.GetOutline();
this.height = outline.get(0).get(1) - outline.get(0).get(0);
this.width = outline.get(1).get(1) - outline.get(1).get(0);

Following is the right code:

 

Transform3D sheetTransp = drawing.GetSheetTransform(sheetNumber);
Outline3D outline = view.GetOutline();

Point3D point1 = Point3D.create();
point1.set(0, outline.get(0).get(0));
point1.set(1, outline.get(0).get(1));
point1.set(2, outline.get(0).get(2));

Point3D point2 = Point3D.create();
point2.set(0, outline.get(1).get(0));
point2.set(1, outline.get(1).get(1));
point2.set(2, outline.get(1).get(2));

Point3D point11 = sheetTransp.TransformPoint(point1);
Point3D point21 = sheetTransp.TransformPoint(point2);

double width = point21.get(0) - point11.get(0);
double height = point21.get(1) - point11.get(1);

 

 

Top Tags