[Má...] Posted June 18 Share Posted June 18 Hello All! How can I generalise the recorded transform reference point script part? Transformation point are recorded coordinate base and I can not reuse this part of the script with another part. gom.script.atos.transform_measurement_series ( reference_measurement_series=gom.app.project.measurement_series['Scan 1'], source_measurement_series=gom.app.project.measurement_series['Scan 2'], transformation_method='common_reference_points', transformation_points=[gom.Vec3d (-47.5168429, -14.44125034, 12.456219), gom.Vec3d (-45.9261644, 35.8622031, -47.21261846), gom.Vec3d (11.66462091, -23.48877267, 22.09789951), gom.Vec3d (20.59062402, 43.65971231, -52.00128633)])transformation_points=[gom Best regards, Máté Link to comment Share on other sites More sharing options...
[Ja...] Posted June 18 Share Posted June 18 Please sign in to view this username. could you give some hints as to what you are ultimately looking to do. Such a transform function for i guess a two sided project in general doesnt make sense to code as the transform (and reference point location) will be fundamentally different each time. Link to comment Share on other sites More sharing options...
[Má...] Posted June 25 Author Share Posted June 25 I would like to transform any kind of two sided projects automaticall with randomly used ref.points. When I use transform function in the software and I have used "cut out points" (plane based) function it recognise the points automatically. This is what I want in my code. Unfortunately the recording includes the location too but I do not need that. Link to comment Share on other sites More sharing options...
[Aa...] Posted June 26 Share Posted June 26 Hi Máté, In my code the transformation is generalized as such: gom.script.atos.transform_by_common_reference_points ( reference_measurement_series=master_reference_measurement_series, source_measurement_series=source_measurement_series, transformation_points=common_ref_points_gomVec3d_coordinates_list) There are three variables that are unique to my python code: 1. master_reference_measurement_series 2. source_measurement_series 3. common_ref_points_gomVec3d_coordinates_list The first two variables are just storing the names of the measurement series that we need transformed. The third variable stores a python list of the common reference points to use for the transformation dialog. Acquiring the list of reference points for the transform is the hard part. There isn't an obvious general solution for every project. However, sometimes our workflow habits are actually very consistent. And this may allow for a good solution to automatically transform some projects. As an example: I always use a flat table that has many reference dot stickers on it. The part I'm scanning only has a few stickers on it. Using this knowledge, I will fit a plane to all the stickers. If there are reference point stickers that are significantly above the plane, I conclude that those points must not be on the table, but rather on the part. In this way, I can filter the reference points creating two lists, one for stickers on the table and another for stickers on the part. The list of points that are on the part are good candidates for common reference points and typically work fine in GOM's transform function. But I also add a lot of supplementary code to identify instances where this process may not have worked as intended and raise an advisory messages of some kind. Link to comment Share on other sites More sharing options...
[Ja...] Posted June 28 Share Posted June 28 Its been far too long Im afraid for me to be certain, but I have in my mind that the built in Kiosk functionality can take care of such automatic registration of two sided projects. From memory it works in a similar principle of defining the plane where reference points on the table will lie beneath , the code then does the rest. I'd look into this first rather than write the code yourself. Maybe Please sign in to view this username. can give some clarification on how Kiosk deals with this situation Cheers james Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in