hexagon logo

Editing Features/Constructed Features Inside Loop Array?

Hello All,

Fairly new to loops in PCdmis and hoping someone can shed some light on this.

I have a simple loop setup to go through 2 parts. I found (through some extensive searching) that I can change which part is being dimensioned by adding a "[1]" or "[2]" to the feature being dimensioned.
If I add "[1]" to Point1 it will call up Point1 on Part 1. As seen in the code here:

DIM DIM1= LOCATION OF POINT POINT [1] UNITS=MM ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
AX MEAS NOMINAL +TOL -TOL DEV OUTTOL
X 19.969 20.000 0.050 0.050 -0.031 0.000 -#-------
Y 19.996 20.000 0.050 0.050 -0.004 0.000 ----#----
Z 0.005 0.000 0.050 0.050 0.005 0.000 ----#----
T 0.005 0.000 0.050 0.050 0.005 0.000 ----#----
END OF DIMENSION DIM1​

This works great, and I can add the bracketed numbers to each dimension to individually edit them. My question is: How do I do the same thing, but actually edit the feature itself, instead of just the measurement of it?

TLDR: I want to edit a single instance of a feature in a looping program without affecting the other instances of it. Is that possible?
Parents
  • Paste w/ Pattern is a built-in feature with PC-DMIS, so that is not a bad practice. Just be sure to have an indexable value at the end of every feature you are copy/pasting to prevent archaic naming from occurring to your freshly pasted features. (I add '_1' to every feature/alignment I plan to use paste w/ pattern on, if reporting/constructing features later in the program, it is now very easy to find which points go together to build/report)

    I suppose in rereading this, you could potentially store the alignment for part1 as an 'external' alignment, then save part2 as another 'external' alignment, using the flow control (IF/ENDIF) you can manage which alignment should be used and recall them explicitly. I believe this would enable you to remeasure a scan, but it would cause a restructure of your current program.

    Loop processes do not lend themselves to be helpful when you need to rerun a specific feature for anything other than the last unit.

    IF_GOTO/lables can enable you to jump through your program isolating only the data you need to remeasure. This could be something to speed up your over-checks, but it takes a great deal of forethought and architecture in your program.



    One last question if anyone happens to check back in this thread:

    I am trying to Paste With Pattern specific features within my loop and have been having a lot of trouble.

    So to start I construct a circle from a linear closed scan.
    From this circle I need to place a line in the Z Plus direction so I can create a Pierce Point with the a Cylinder.

    I've done this in two ways, first with a Cast Line from the Circle > Reverse Line from that Cast Line > Pierce Point of Cylinder and Reverse Line.

    The second way was: Offset Circle from Original Circle > Line from Circle to Circle > Pierce Point of Cylinder and Line.

    Now the strange thing is that this process works, either way, UNTIL I Copy and Paste With Pattern. After that the ORIGINAL feature construction stops working. I get either the "Math Failed" or "Unsupported Feature Combination" Error.

    I would expect this to occur on the duplicated code, but not the original. Any ideas? This is a paste with pattern without any offset.
Reply
  • Paste w/ Pattern is a built-in feature with PC-DMIS, so that is not a bad practice. Just be sure to have an indexable value at the end of every feature you are copy/pasting to prevent archaic naming from occurring to your freshly pasted features. (I add '_1' to every feature/alignment I plan to use paste w/ pattern on, if reporting/constructing features later in the program, it is now very easy to find which points go together to build/report)

    I suppose in rereading this, you could potentially store the alignment for part1 as an 'external' alignment, then save part2 as another 'external' alignment, using the flow control (IF/ENDIF) you can manage which alignment should be used and recall them explicitly. I believe this would enable you to remeasure a scan, but it would cause a restructure of your current program.

    Loop processes do not lend themselves to be helpful when you need to rerun a specific feature for anything other than the last unit.

    IF_GOTO/lables can enable you to jump through your program isolating only the data you need to remeasure. This could be something to speed up your over-checks, but it takes a great deal of forethought and architecture in your program.



    One last question if anyone happens to check back in this thread:

    I am trying to Paste With Pattern specific features within my loop and have been having a lot of trouble.

    So to start I construct a circle from a linear closed scan.
    From this circle I need to place a line in the Z Plus direction so I can create a Pierce Point with the a Cylinder.

    I've done this in two ways, first with a Cast Line from the Circle > Reverse Line from that Cast Line > Pierce Point of Cylinder and Reverse Line.

    The second way was: Offset Circle from Original Circle > Line from Circle to Circle > Pierce Point of Cylinder and Line.

    Now the strange thing is that this process works, either way, UNTIL I Copy and Paste With Pattern. After that the ORIGINAL feature construction stops working. I get either the "Math Failed" or "Unsupported Feature Combination" Error.

    I would expect this to occur on the duplicated code, but not the original. Any ideas? This is a paste with pattern without any offset.
Children
No Data