hexagon logo

The shortest way to the center(scan)

Below are the questions I asked last time.


When scanned in the shape shown in the figure

I want to know how to find the shortest distance between each point relative to the center.

There will be more than 140 such bends, so the we should be able to find them automatically.


For reference, the program version : PC-DMIS 2019 R2 CAD++


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------



Thank you so much for answering so many of my questions.


The current program version is PC-DMIS 2023.2 CAD++(Finished updating to the latest version)


One of the methods you suggested, the "LOOP" function, take too much time



Is there any way to use the "EXTREME POINT" function in a single scan to output the value I want?






The shortest way to the center(scan) - PC-DMIS User Forum
https://www.pcdmisforum.com/forum/pc-dmis-enterprise-metrology-software/pc-dmis-for-cmms/533106-the-shortest-way-to-the-center-scan

When scanned in the shape shown in the figure I want to know how to find the shortest distance between each point relative to the center. There will be more than 140 such bends, so the we should be able to find them automatically. For reference, the program version : PCDMIS 2019 R2 CAD++ ​

Parents
  • The issue you have is that they're only extreme in the little section of scan you're looking at.

    You need some way to break them down into smaller sections.

    If they're evenly enough distributed this might work.

    Find the single point with the min polar rad

    Something like below but syntax might be wrong - also not sure in PR is available you you might need to use Pythagoras to find it.


    ASSIGN/STARTHIT=MININDEX(SCN1.HIT[..].PR)

    For example say that returns hit number 156

    Create a generic point from that hit. Rotate align through that point.

    Get the rough number of hits for each bend (total number of hits / 140) - so for 2800 hits you'd have 20

    Add half that (10) to each side of the hit you found, then create a feature set of hits from, so first set would be hits 146 to 166. Extract minimum from that.

    Then in a loop:

    Rotate alignment by 360/140 and create a set for (initial hit number + 20) ± 10, so second set would be 166 to 186
    Find extreme point in that little section

    Rinse and repeat.

Reply
  • The issue you have is that they're only extreme in the little section of scan you're looking at.

    You need some way to break them down into smaller sections.

    If they're evenly enough distributed this might work.

    Find the single point with the min polar rad

    Something like below but syntax might be wrong - also not sure in PR is available you you might need to use Pythagoras to find it.


    ASSIGN/STARTHIT=MININDEX(SCN1.HIT[..].PR)

    For example say that returns hit number 156

    Create a generic point from that hit. Rotate align through that point.

    Get the rough number of hits for each bend (total number of hits / 140) - so for 2800 hits you'd have 20

    Add half that (10) to each side of the hit you found, then create a feature set of hits from, so first set would be hits 146 to 166. Extract minimum from that.

    Then in a loop:

    Rotate alignment by 360/140 and create a set for (initial hit number + 20) ± 10, so second set would be 166 to 186
    Find extreme point in that little section

    Rinse and repeat.

Children
No Data