STEP AP242 How to use this standard in PMILL ?

5axes
Advisor
Advisor

STEP AP242 How to use this standard in PMILL ?

5axes
Advisor
Advisor

Hello,

 

As the new STEP application protocol AP242 is now supported by Autodesk Manufacturing Data Exchange 2018 , I have made some tests to know what kind of benefits I can have by dealing with this new standard. On the paper it looks pretty cool, capability to transfer PMI informations( could be usefull instead of having an additionnal drawing), possibility to transfer tessellated geometry etc .. (http://www.ap242.org/)

manuf.jpg

In reallity as it is manage by the interface it's completely useless (my point of view) .

  • PMI is not identified as a special element
  • You can not have a list , search for a text or a value
  • There is no link between the anotation and the attached surface or reference
  • etc etc etc .. 

But the real problems comes when you load such file in PMILL. Some of these annotations are transfer as surfaces !  And they are on the same level as the part, thanks to the issue of the Step transfer color is not manage ... 

manuf2.jpg

 

So my question is How to clean such file before to mill it ? Did you already had to deal with such format ?

 

Hereafter a test file provided by the NIST to test the capability of your software to read these type of data.

Reply
Accepted solutions (1)
1,439 Views
4 Replies
Replies (4)

5axes
Advisor
Advisor

In Powermill if you cannot select an entity by his color, level or type, you can try by his name.

 

But unfortunately I'm not sure (I'm sure Smiley Frustrated) that the name of the PMI entity will be explicit in every case. And the macro is very time consuming Smiley Sad

0 Likes

kukelyk
Advisor
Advisor
Accepted solution

Try this:

STRING LIST comps = {}
STRING first_model = FOLDER('model')[0].Name
FOREACH komp IN $entity('model', $first_model).hierarchy.children {
	INT k = add_last($comps, $komp.name)
	PRINT = komp.name
}
INT c = 0
$c = INPUT CHOICE $comps "Select the body by name"

EDIT MODEL ALL DESELECT ALL
INT k = select_components($ENTITY('model', $first_model).Hierarchy.Children[$c].Components)
EDIT MODEL $first_model SELECT INVERT ALL
CREATE PATTERN ;
EDIT PATTERN ; INSERT MODEL
DELETE MODEL $first_model SELECTED

5axes
Advisor
Advisor

Smart, fast ... Very nice piece of code for this macro @kukelyk Heart

 

Warning: my posts occasionally contains smiley (which may be unsuitable for adults), unusual humor (which may also be unsuitable for adults), and advanced mathematics (which may be unsuitable for liberal-arts majors).

 

 

0 Likes

kukelyk
Advisor
Advisor

Happy to help You, it used to be inversely..:wink: