+1

Enhanced Move Point Creation Along Surface Point Vector in PC-DMIS

Solomon hace 3 semanas en Metrology Software / PC-DMIS actualizado por Guillermo hace 2 semanas 11

I would like to submit a feature request for a future update of PC-DMIS. The goal is to improve programming efficiency and safety by introducing an option to create a Move Point directly along the vector of a selected point or surface.Currently, creating clearance or approach moves often requires manual coordinate calculation (\(X, Y, Z\)) or utilizing complex expressions to offset a position relative to a measured point. Introducing a native "Move Point Along Vector" feature would significantly streamline this workflow.

Proposed Functionality & User Interface Integration

  1. Context Menu / Dialog Option:
    • When creating a MOVE/POINT command, users should have a checkbox or dropdown option labeled "Along Vector" or "Offset by Vector".
    • Alternatively, right-clicking an existing point feature (e.g., PNT1) could offer an option: "Create Move Point Along Vector".
  2. Input Parameters:
    • Reference Feature: The source point or surface from which the vector is derived (e.g., PNT1).
    • Distance (Offset): A positive or negative numerical value representing how far along the vector the Move Point should be placed.
      • Positive value: Moves away from the surface (clearance/retract).
      • Negative value: Moves toward/into the surface (approach).
  3. Code Execution / Command Line Representation:
    The command in the Edit Window could look similar to this:pcdmis
    MOVE/POINT, ALONG_VECTOR, FEATURE=PNT1, DISTANCE=50.0
    
    Kód používajte opatrne.PC-DMIS would dynamically calculate the absolute \(X, Y, Z\) coordinates based on PNT1.X + (PNT1.I * 50), PNT1.Y + (PNT1.J * 50), and PNT1.Z + (PNT1.K * 50).

Key Benefits

  • Increased Efficiency: Eliminates the need for manual math or writing custom expressions for simple approach and retract moves.
  • Improved Safety: Reduces human error when calculating clearance points on complex, angled surfaces.
  • Parametric Flexibility: If the nominal position of the reference point changes (e.g., due to a CAD update or alignment shift), the Move Point updates automatically because it is linked to the feature's vector.
  • Cleaner Code: Replaces complex script-like workarounds with a clean, native PC-DMIS command.

Thank you for considering this request to enhance the offline and online programming experience in PC-DMIS.

Don't quite follow this request. We already have a MOVE/POINT dialog we can add modifiers to as you request, but I cannot see the relevance of using a point for a move/point when you already have that built-in capability in auto vector and surface point commands via the automove NO, BOTH, BEFORE, AFTER and along feature versus tip vectors.

I can see being able to click the CAD w/o  a point feature association to automatically create a move/point from CAD  a set normal distance from surface as an offline programming aid for navigating around a part.  And only to establish MOVE/POINT coordinates.  Any dependency in features can create issues for MARKED, FBM or even flow control based execution if a "seed" feature is skipped using your suggestion.

Hello Guillermo. I think it would be benefitial when creating move points. You could create them thru vector and then for example change a bit one of the axis to have it where you need. I know you can use graphical mode when creating move points you can also write them by hand in XYZ but this would be next option available. 

I really like the effort that you put into presentation :)

I have to agree with Guillermo.

If the feauture is not in the same place as previous measurement and is skipped (marked) but the following move is not, it will calculate the move with the wrong feature-coordinates. This is a too high of a risk.

The only way this will work is to place your suggested move inside the feature. So, if the feature is skipped, the move is skipped.

Avoidance move already does that job, but in my opinion not good enough. At least not when meauring bigger parts.

For instance, that move in a circle will go to the center above the circle. If you measure a diameter of 2600 mm, you don't want the probe to travel 1300 mm back to the center.

After the last hit it would need to move from the current probe position (center) along the vector of the feature.


+2

I do however like the idea, what I am against is referencing a feature whether measured or constructed.
What I would suggest is to have a two options, learn from feature or CAD by vector offset.
Let the proposed dialog let the user pick an existing feature and use its vector or a second feature vector for direction and add an offset.  The features are not added to the command, only the calculated position.
If selecting by CAD, allow the user to click the CAD and grab the location and vector from that point plus an offset.  
I do agree that tools for easily adding moves w/o having to rely on a clearance cube add value.
My biggest issue w/ Clearance cube is that nothing in a command line tells you what a feature Clearance Cube behaviour will be.

Hello Guillermo,


Maybe my previous description in post was not clear enough. What you described is exactly what I meant. Key Requirement The Move Point command should only use a feature (point, circle, plane, etc.) as a reference to calculate a simple vector offset. It should not be parametrically tied to that feature. How it should work (Example):

  • Current state: You create a Move Point by clicking on a CAD model paths or typing coordinates directly into the Edit Window.
  • Proposed workflow: In the same dialogue window, a new option "T" (Target/Vector) with a selection menu for the feature would be added.
  • The action: You select a reference feature and enter a distance (e.g., 50).
  • The result: The software automatically generates a standard Move Point exactly 50 mm away from the reference feature along its vector direction, without linking the two permanently.

If it is still not clear feel free to ask and I may describe it differently. 

I like this.  Saving the calculated value from the feature, but I would also allow picking a second feature for the IJK.

Maybe you want the direction from even the active workplane IJK instead of the feature.
And I would like the option to do feature by CAD click.

I too really like your idea. But see problems if the move is separate but also tied to a feature.


If you use that move as a seperate move, it can get ugly if the feature in front of it is not measured (marked, deleted or something else).

PCDMIS doesn't see that you skipped a feature.

The same as with Sample Features. 

In the beginning of the program I have a plane, but I mark it and it is skipped. This means the measured values are not updated.

Later on in the program I want to measure a line and use that plane as a Sample Feature. PCDMIS will use the measured values, even though they are not measured. And boom...a crash.

Maybe PCDMIS can (or already does) do it properly when both the plane and the line are measured in one go.

But often (at least where I work) you don't have the chance to measure those 2 features in one run.

And when implementing new ideas, we (Hexagon and users) have to think about everything that can you wrong, with all the options already availabe and all the styles of programming (MOVE/POINT ; MOVE CLEARPLANE ; clearance cubes ; Avoidance Move ; et cetera).

Therefor I am addressing this, to point out where it can go wrong in my workspace. Not to steal your idea or be padentic.


Why not add this to Avoidance Move? Like this:

Image 736

Positives:

  • You can make a move along the vector of the feature.
  • If the feature is skipped, so is the move.
  • I think it is easier to implement by Hexagon because (I guess) they can copy the code for 'Along Feature Vector' and change it to the last used hit. 


Hello Wes77.


This is not good enough for me personally. I would like to have ability to also change XYZ of move point if I need it in move point and also change distance from some feature thru vector. Avoidance move does not have the ability to change XYZ. 

I created how it would look:

Image 737

Or in code MOVE/POINT, NORMAL <0,0,0> Feature: P1 T offset: 0


Like this? MOVE/POINT,NORMAL,<CIR1.X,CIR1.Y,CIR1.Z+50>

Works easy in XY, YZ and XZ planes, but cumbersome in rotated workplanes.

But again, this would link the move to the feature, which in turn can cause aforementioned problems.

In my company this approach will work because all the operators know my style of programming. But Hexagon needs to look at possible problems for all their clients worldwide.

But maybe a Hexagon employee can confirm or refute my concerns.

It would just once calculate the positon from XYZ of the feature you choose. Say you have point namened POINT1 with coordinates in X0 Y0 Z0 and I1 J0 K0 you would want to have move point quickly in T from POINT1 +10 in T from that point. You would choose like in my picture from drop down feature POINT1. It would once load coordinates of that point at the time of creation of that move point coordinates and create move point with coordinates thru T offset from feature. So created move point would be in X10 Y0 Z0 I1 J0 K0. But under default conditions drop down menu in Feature would be set to blank.

Or to say it differently:

Function Description (One-Time Offset Calculation)This feature allows for a one-time position calculation of a new Move Point based on a selected feature and a specified offset:

  • Data Loading: At the moment of creation, the system captures the current XYZ coordinates and IJK vectors of the chosen feature once.
  • Offset Application: The system then calculates the new coordinates by applying the specified offset in the T-axis.
  • Static Result: The resulting Move Point is created with these fixed coordinates and remains independent (not dynamically linked) to the original feature.

 Practical ExampleImagine you have an existing point named POINT1 and you want to create a new Move Point shifted by +10 in the T-axis:

  1. Select POINT1 from the Feature drop-down menu.
  2. The system loads its base coordinates: X0 Y0 Z0 and vectors: I1 J0 K0.
  3. You enter an offset of +10 in the T-axis.
  4. The newly created Move Point will have the final coordinates: X10 Y0 Z0 I1 J0 K0.

Default Behavior

  • By default, the Feature drop-down menu is set to blank.
  • The user must manually select a feature from the list to trigger the calculation.