Dear Material Studio users,
I have a system that includes several 6-rings. Following MD simulations, I aimed to conduct post-processing analyses, one of which requires obtaining the normal vectors of each 6-ring plane versus time.
So, I made BestFitPlane out of all 6-rings (please see the attached figure) and then wrote the following code:
#!perl
use strict;
use Getopt::Long;
use MaterialsScript qw(:all);
my \\\$doc = \\\$Documents{"new0.xtd"};
my \\\$std = Documents->New("NormaleVectors.std");
\\\$std->ColumnHeading(0) = "Nx";
\\\$std->ColumnHeading(1) = "Ny";
\\\$std->ColumnHeading(2) = "Nz"
my \\\$bestFitPlane = \\\$doc->DisplayRange->BestFitPlane;
my \\\$planes = \\\$bestFitPlane->BestFitPlane;
for (my \\\$frame=1; \\\$frame<=\\\$doc->Trajectory->NumFrames; ++\\\$frame){
\\\$doc->Trajectory->CurrentFrame = \\\$frame;
my \\\$BFPCounter = 0;
my \\\$i=0
foreach my \\\$plane (@{\\\$doc->DisplayRange->BestFitPlane}){{++\\\$BFPCounter}
\\\$std->Cell(\\\$i,0+(\\\$frame-1)*3) = \\\$plane->UnitNormalVector->X;
\\\$std->Cell(\\\$i,1+(\\\$frame-1)*3) = \\\$plane->UnitNormalVector->Y;
\\\$std->Cell(\\\$i,2+(\\\$frame-1)*3) = \\\$plane->UnitNormalVector->Z;
\\\$i++;}
}
However, upon running the code, I got this error:
"There is more than one object in the "BestFitPlane"s collection (function/property "BestFitPlane") at -e line 13."
Would you be able to kindly advise me on what I have missed in the code? Thank you, SJ
