CATIA-Makro in Anhang eingebaut

This commit is contained in:
2015-05-26 00:23:04 +02:00
parent 34a6556dc5
commit 3dbc95fd31
4 changed files with 552 additions and 19 deletions

532
datas/Create_CATIA_Makro.m Executable file
View File

@@ -0,0 +1,532 @@
clc, clear all
%
% CONFIGURATION
mirrowed = true;
plotPoints = false;
beginAtSection = 7;
if mirrowed==true
catiaFileName = 'Rotorblatt-NREL1.CATPart';
else
catiaFileName = 'Rotorblatt-NREL1_NichtGespiegelt.CATPart';
end
catiaFile = strcat(pwd,'\',catiaFileName);
% 18 more planes
planeDistances = [7000, 8333.3, 10500, 13500, 18500, 19950, 22000, 26100, ...
32250, 33500, 38500, 40450, 42500, 43500, 46500, 48650, 56166.7, 58900]; % in mm
%
% KEYPOINTS
fid = fopen('keypointsTemp.txt');
j = 1;
while ~feof(fid)
keypoints(j,:) = textscan(fid, '%s %f %f %f %f',1,'headerlines',0,'Delimiter',',','EmptyValue',0);
j = j+1;
end
keypoints = keypoints(:,2:end);
keypoints = cell2mat(keypoints);
%
% SECTIONS
fid = fopen('sectionsTemp2.txt');
j = 1;
while ~feof(fid)
sectionKeypoints(j,:) = textscan(fid, '%s %d %d %d %d %d',1,'headerlines',0,'Delimiter',',','EmptyValue',0);
for i = 1:2
fgets(fid);
end
j = j+1;
end
sectionKeypoints = sectionKeypoints(:,2:end);
sectionKeypoints(:,end) = [];
sectionKeypoints = cell2mat(sectionKeypoints);
% results(:)
uniqueSectionKeypoints = unique(sectionKeypoints(:));
%
% KEYPOINTS AND SECTIONS
iskeypointInSection = (ismember(keypoints(:,1) , uniqueSectionKeypoints));
j = 1;
for i=1:length(iskeypointInSection)
if isequal(iskeypointInSection(i),true)
keypointInSection(j,:) = keypoints(i,:);
j = j+1;
end
end
keypointInSectionIDs = keypointInSection(:,1);
keypointInSection = keypointInSection(:,2:end)*1000;
% 2866.7 entfernung Nabe - Spinnerkontaktflaeche zu Rotorblatt
zOffset = 2866.7 - 1366.7;
keypointInSection(:,3) = keypointInSection(:,3) + zOffset;
if mirrowed==true
theta = 180;
R = [cosd(theta), 0, -sind(theta);
0, 1, 0;
sind(theta), 0, cosd(theta)];
keypointInSection = keypointInSection*R;
else
keypointInSection(:,1) = -1*keypointInSection(:,1);
end
if plotPoints == true
scatter3(keypointInSection(:,1), keypointInSection(:,2), keypointInSection(:,3));
axis equal
end
%
% LINES
fid = fopen('linesTemp.txt');
j = 1;
while ~feof(fid)
lines(j,:) = textscan(fid, '%s %f %f %s',1,'headerlines',0,'Delimiter',',','EmptyValue',0);
j = j+1;
end
lines = lines(:,2:3);
lines = cell2mat(lines);
combineLines{1} = [10801,10901,...
11001,11101,11201,11301,11401,11501,11601,11701,11801,11901,...
12001,12101,12201,12301,12401,12501,12601,12701,12801];
combineLines{2} = [10802,10902,...
11002,11102,11202,11302,11402,11502,11602,11702,11802,11902,...
12002,12102,12202,12302,12402,12502,12602,12702,12802,...
12901,...
13001,13101,13201,13301,13401,13501,13601,13701];
combineLines{3} = [10803,10903,...
11003,11103,11203,11303,11403,11503,11603,11703,11803,11903,...
12003,12103,12203,12303,12403,12503,12603,12703,12803,...
12902,...
13002,13102];
combineLines{4} = [10804,10904,...
11004,11104,11204,11304,11404,11504,11604,11704,11804,11904,...
12004,12104,12204,12304,12404,12504,12604,12704,12804,...
12903,...
13003,13103,...
13202,13302,13402,13502,13602,13702];
combineLines{5} = [10805,10905,...
11005,11105,11205,11305,11405,11505,11605,11705,11805,11905,...
12005,12105,12205,12305,12405,12505,12605,12705,12805,...
12904,...
13004,13104,...
13203,13303,13403,13503,13603,13703];
combineLines{6} = [10806,10906,...
11006,11106,11206,11306,11406,11506,11606,11706,11806,11906,...
12006,12106,12206,12306,12406,12506,12606,12706,12806,...
12905,...
13005,13105,...
13204,13304,13404,13504,13604,13704];
% already in model
% combineLines{7} = [10807,10907,...
% 11007,11107,11207,11307,11407,11507,11607,11707,11807,11907,...
% 12007,12107,12207,12307,12407,12507,12607,12707,12807,...
% 12906,...
% 13006,13106,...
% 13205,13305,13405,13505,13605,13705];
combineLines{8} = [10808,10908,...
11008,11108,11208,11308,11408,11508,11608,11708,11808,11908,...
12008,12108,12208,12308,12408,12508,12608,12708,12808,...
12907,...
13007,13107,...
13206,13306,13406,13506,13606,13706];
combineLines{9} = [10809,10909,...
11009,11109,11209,11309,11409,11509,11609,11709,11809,11909,...
12009,12109,12209,12309,12409,12509,12609,12709,12809,...
12908,...
13008,13108,...
13207,13307,13407,13507,13607,13707];
combineLines{10} = [10810,10910,...
11010,11110,11210,11310,11410,11510,11610,11710,11810,11910,...
12010,12110,12210,12310,12410,12510,12610,12710,12810,...
12909,...
13009,13109,...
13208,13308,13408,13508,13608,13708];
combineLines{11} = [10811,10911,...
11011,11111,11211,11311,11411,11511,11611,11711,11811,11911,...
12011,12111,12211,12311,12411,12511,12611,12711,12811,...
12910,...
13010,13110];
combineLines{12} = [10812,10912,...
11012,11112,11212,11312,11412,11512,11612,11712,11812,11912,...
12012,12112,12212,12312,12412,12512,12612,12712,12812,...
12911,...
13011,13111,13209,13309,13409,13509,13609,13709];
combineLines{13} = [10813,10913,...
11013,11113,11213,11313,11413,11513,11613,11713,11813,11913,...
12013,12113,12213,12313,12413,12513,12613,12713,12813];
%
% hybridBodies
% 1 Querschnittsebenen
% 2 variable temporary set; Flaechen (old), Abschnittstrennungen
% 3 Abschnittstrennungen
% 4 Gesamtoberflaeche
% 5 Spiegelung (old)
% 6 Punkte
% 7 Abschnittslinien
fileID = fopen('Makro_open_file_and_create_elements.catvbs','w');
% begin of file
fprintf(fileID,[...
'Language="VBSCRIPT"\r\n\r\n'...
'Sub CATMain()\r\n'...
'CATIA.RefreshDisplay = False\r\n\r\n'...
'Set partDocument1 = CATIA.Documents.Open("%s")\r\n'...
'Set selection1 = partDocument1.Selection\r\n'...
'Set visPropertySet1 = selection1.VisProperties\r\n'...
'Set part1 = partDocument1.Part\r\n\r\n'], catiaFile);
% create planes
fprintf(fileID,[...
'Set hybridBodies1 = part1.HybridBodies\r\n'...
'Set hybridBody1 = hybridBodies1.Add()\r\n'...
'hybridBody1.Name = "Querschnittsebenen"\r\n'...
'part1.Update\r\n\r\n'...
'Set hybridShapeFactory1 = part1.HybridShapeFactory\r\n\r\n'...
'Set originElements1 = part1.OriginElements\r\n'...
'Set hybridShapePlaneExplicit1 = originElements1.PlaneXY\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)\r\n\r\n']);
numberOfPlanes = length(planeDistances);
for i=1:numberOfPlanes
fprintf(fileID,[...
'Set hybridShapePlaneOffset1 = '...
'hybridShapeFactory1.AddNewPlaneOffset(reference1, %f, False)\r\n'...
'hybridShapePlaneOffset1.Name = "Ebene.10%02d"\r\n'...
'hybridBody1.AppendHybridShape hybridShapePlaneOffset1\r\n'...
'part1.InWorkObject = hybridShapePlaneOffset1\r\n'...
'part1.Update\r\n\r\n'], planeDistances(i), i);
end
% get whole surface
fprintf(fileID,...
'Set hybridShapes1 = hybridBody1.HybridShapes\r\n\r\n');
% cut on planes
fprintf(fileID,[...
'Set hybridBody3 = hybridBodies1.Add()\r\n'...
'hybridBody3.Name = "Abschnittstrennungen"\r\n'...
'part1.Update\r\n']);
for i=1:numberOfPlanes
if i==1
fprintf(fileID,[...
'Set hybridBody2 = hybridBodies1.Item("Flaechen")\r\n'...
'Set hybridShapes2 = hybridBody2.HybridShapes\r\n'...
'Set hybridShapeAssemble2 = hybridShapes2.Item("Verbindung.16")\r\n']);
elseif i==2
fprintf(fileID,[...
'Set hybridBody2 = hybridBodies1.Item("Abschnittstrennungen")\r\n'...
'Set hybridShapes2 = hybridBody2.HybridShapes\r\n'...
'Set hybridShapeAssemble2 = hybridShapes2.Item("Trennen.10%02dr")\r\n'],i-1);
else
fprintf(fileID,'Set hybridShapeAssemble2 = hybridShapes2.Item("Trennen.10%02dr")\r\n',i-1);
end
fprintf(fileID,[...
'Set reference1 = part1.CreateReferenceFromObject( hybridShapeAssemble2)\r\n'...
'Set hybridShapePlaneOffset1 = hybridShapes1.Item("Ebene.10%02d")\r\n'...
'Set reference2 = part1.CreateReferenceFromObject( hybridShapePlaneOffset1)\r\n\r\n'...
'Set hybridShapeSplit1 = hybridShapeFactory1.AddNewHybridSplit(reference1, reference2, -1)\r\n'...
'hybridShapeFactory1.GSMVisibility reference1, 0\r\n'...
'hybridShapeSplit1.Name = "Trennen.10%02d"\r\n'...
'hybridBody3.AppendHybridShape hybridShapeSplit1\r\n'...
'part1.InWorkObject = hybridShapeSplit1\r\n'...
'part1.Update\r\n'...
'part1.Update\r\n'],i,i);
fprintf(fileID,[...
'Set hybridShapeSplit1 = hybridShapeFactory1.AddNewHybridSplit(reference1, reference2, 1)\r\n'...
'hybridShapeFactory1.GSMVisibility reference1, 0\r\n'...
'hybridShapeSplit1.Name = "Trennen.10%02dr"\r\n'...
'hybridBody3.AppendHybridShape hybridShapeSplit1\r\n'...
'part1.InWorkObject = hybridShapeSplit1\r\n'...
'part1.Update\r\n'...
'part1.Update\r\n\r\n'], i);
end
% combine sections
fprintf(fileID,[...
'Set hybridBody4 = hybridBodies1.Add()\r\n'...
'hybridBody4.Name = "Gesamtoberflaeche"\r\n'...
'part1.Update\r\n']);
for i=1:numberOfPlanes
fprintf(fileID,[...
'Set hybridShapeSplit1 = hybridShapes2.Item("Trennen.10%02d")\r\n'...
'Set reference%d = part1.CreateReferenceFromObject(hybridShapeSplit1)\r\n'],i,i);
if i==2
fprintf(fileID,'Set hybridShapeAssemble1 = hybridShapeFactory1.AddNewJoin(reference1, reference2)\r\n');
elseif i>2
fprintf(fileID,'hybridShapeAssemble1.AddElement reference%d\r\n',i);
end
fprintf(fileID,'\r\n');
end
fprintf(fileID,[...
'Set hybridShapeSplit1 = hybridShapes2.Item("Trennen.10%02dr")\r\n'...
'Set reference%d = part1.CreateReferenceFromObject(hybridShapeSplit1)\r\n'...
'hybridShapeAssemble1.AddElement reference%d\r\n\r\n'...
'hybridShapeAssemble1.SetConnex 1\r\n'...
'hybridShapeAssemble1.SetManifold 1\r\n'...
'hybridShapeAssemble1.SetSimplify 0\r\n'...
'hybridShapeAssemble1.SetSuppressMode 0\r\n'...
'hybridShapeAssemble1.SetDeviation 0.001000\r\n'...
'hybridShapeAssemble1.SetAngularToleranceMode 0\r\n'...
'hybridShapeAssemble1.SetAngularTolerance 0.500000\r\n'...
'hybridShapeAssemble1.SetFederationPropagation 0\r\n'...
'hybridShapeAssemble1.Name = "Verbindung.1001"\r\n'...
'hybridBody4.AppendHybridShape hybridShapeAssemble1\r\n'...
'part1.InWorkObject = hybridShapeAssemble1\r\n'...
'part1.Update\r\n'...
'part1.Update\r\n'], i, i+1, i+1);
if mirrowed==true
fprintf(fileID,[...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapeAssemble1)\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)\r\n'...
'Set hybridShapeSymmetry1 = hybridShapeFactory1.AddNewSymmetry(reference1, reference2)\r\n'...
'hybridShapeSymmetry1.VolumeResult = False\r\n'...
'hybridBody4.AppendHybridShape hybridShapeSymmetry1\r\n'...
'part1.InWorkObject = hybridShapeSymmetry1\r\n'...
'part1.Update\r\n'...
'Set hybridBody5 = hybridBodies1.Item("Spiegelung")\r\n'...
'selection1.Add hybridBody5\r\n'...
'selection1.Add hybridShapeAssemble1\r\n']);
end
fprintf(fileID,'\r\n');
% create Points
fprintf(fileID,[...
'Set hybridBody6 = hybridBodies1.Add()\r\n'...
'hybridBody6.Name = "Punkte"\r\n'...
'part1.Update\r\n'...
'Set axisSystems1 = part1.AxisSystems\r\n'...
'Set axisSystem1 = axisSystems1.Item("Achsensystem 0")\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(axisSystem1)\r\n\r\n']);
for i=1:length(keypointInSectionIDs)
sectionID = int8(keypointInSectionIDs(i)/1000)+1;
if sectionID > beginAtSection
fprintf(fileID,[...
'Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(%f, %f, %f)\r\n'...
'hybridShapePointCoord1.RefAxisSystem = reference1\r\n'...
'hybridBody6.AppendHybridShape hybridShapePointCoord1\r\n'...
'hybridShapePointCoord1.Name = "Punkt.1%05d"\r\n'...
'part1.InWorkObject = hybridShapePointCoord1\r\n'...
'part1.Update\r\n'...
'\r\n'],keypointInSection(i,:),keypointInSectionIDs(i));
end
end
myKeypoints = [ 0,0,2870; 0,0,42500; 0,0,46500; 0,0,63000];
if mirrowed == true
myKeypoints = -myKeypoints;
end
for i=1:length(myKeypoints(:,1))
fprintf(fileID,[...
'Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(%f, %f, %f)\r\n'...
'hybridShapePointCoord1.RefAxisSystem = reference1\r\n'...
'hybridBody6.AppendHybridShape hybridShapePointCoord1\r\n'...
'hybridShapePointCoord1.Name = "Punkt.19%04d"\r\n'...
'part1.InWorkObject = hybridShapePointCoord1\r\n'...
'part1.Update\r\n\r\n'], myKeypoints(i,:), i);
end
% create Lines
fprintf(fileID,[...
'Set hybridShapes6 = hybridBody6.HybridShapes\r\n'...
'Set hybridBody7 = hybridBodies1.Add()\r\n'...
'hybridBody7.Name = "Abschnittslinien"\r\n\r\n']);
sectionID = 0;
for i=1:length(lines)
newSectionID = int8(lines(i,1)/1000)+1;
if newSectionID > sectionID
j = 1;
end
sectionID = newSectionID;
if sectionID > beginAtSection
fprintf(fileID,[...
'Set hybridShapePointCoord1 = hybridShapes6.Item("Punkt.1%05d")\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)\r\n'...
'Set hybridShapePointCoord2 = hybridShapes6.Item("Punkt.1%05d")\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapePointCoord2)\r\n'...
'Set hybridShapeLinePtPt1 = hybridShapeFactory1.AddNewLinePtPt(reference1, reference2)\r\n'...
'hybridBody7.AppendHybridShape hybridShapeLinePtPt1\r\n'...
'hybridShapeLinePtPt1.Name = "Linie.1%02d%02d"\r\n'...
'part1.InWorkObject = hybridShapeLinePtPt1\r\n'...
'part1.Update\r\n\r\n'],lines(i,1),lines(i,2),sectionID,j);
end
j = j+1;
end
jump1 = beginAtSection*14;
jump2 = 28*14;
jump3 = jump2+3*12;
myLines(:,1) = keypointInSectionIDs([jump1+2:jump1+7,jump1+9:jump1+14]);
myLines(:,2) = ones(length(keypointInSectionIDs([2:7,9:14])),1)*90001;
myLines = [myLines;
[keypointInSectionIDs(jump2+2);
keypointInSectionIDs(end-8);
keypointInSectionIDs(jump3+2);
keypointInSectionIDs([end-7:end-5,end-3:end-1]);
keypointInSectionIDs(jump3+10);
keypointInSectionIDs(end);
keypointInSectionIDs(jump2+12)],...
[90002;
90004;
90003;
ones(length(keypointInSectionIDs([end-7:end-5, end-3:end-1])), 1)*90004;
90003;
90004;
90002]];
myLines(end+1,:) = [90001,90002];
myLines(end+1,:) = [90002,90003];
myLines(end+1,:) = [90003,90004];
sectionID = 0;
for i=1:length(myLines)
newSectionID = int8(myLines(i,1)/1000)+1;
if newSectionID > sectionID
j = 1;
end
sectionID = newSectionID;
if sectionID > beginAtSection
fprintf(fileID,[...
'Set hybridShapePointCoord1 = hybridShapes6.Item("Punkt.1%05d")\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)\r\n'...
'Set hybridShapePointCoord2 = hybridShapes6.Item("Punkt.1%05d")\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapePointCoord2)\r\n'...
'Set hybridShapeLinePtPt1 = hybridShapeFactory1.AddNewLinePtPt(reference1, reference2)\r\n'...
'hybridBody7.AppendHybridShape hybridShapeLinePtPt1\r\n'...
'hybridShapeLinePtPt1.Name = "Linie.2%02d%02d"\r\n'...
'part1.InWorkObject = hybridShapeLinePtPt1\r\n'...
'part1.Update\r\n\r\n'],myLines(i,1),myLines(i,2),sectionID,j);
end
j = j+1;
end
% combine lines
fprintf(fileID,'Set hybridShapes7 = hybridBody7.HybridShapes\r\n');
k = 1;
for i=1:length(combineLines)
if ~isempty(combineLines{i})
for j=1:length(combineLines{i})
fprintf(fileID,'Set hybridShapeLinePtPt1 = hybridShapes7.Item("Linie.%d")\r\n',combineLines{i}(j));
fprintf(fileID,'Set reference%d = part1.CreateReferenceFromObject(hybridShapeLinePtPt1)\r\n',j);
if j==2
fprintf(fileID,'Set hybridShapeAssemble1 = hybridShapeFactory1.AddNewJoin(reference1, reference2)\r\n');
elseif j>2
fprintf(fileID,'hybridShapeAssemble1.AddElement reference%d\r\n',j);
end
fprintf(fileID,'\r\n');
end
fprintf(fileID,[...
'hybridShapeAssemble1.SetConnex 1\r\n'...
'hybridShapeAssemble1.SetManifold 1\r\n'...
'hybridShapeAssemble1.SetSimplify 0\r\n'...
'hybridShapeAssemble1.SetSuppressMode 0\r\n'...
'hybridShapeAssemble1.SetDeviation 0.001000\r\n'...
'hybridShapeAssemble1.SetAngularToleranceMode 0\r\n'...
'hybridShapeAssemble1.SetAngularTolerance 0.500000\r\n'...
'hybridShapeAssemble1.SetFederationPropagation 0\r\n'...
'hybridShapeAssemble1.Name = "Verbindung.11%02d"\r\n'...
'hybridBody7.AppendHybridShape hybridShapeAssemble1\r\n'...
'part1.InWorkObject = hybridShapeAssemble1\r\n'...
'part1.Update\r\n'...
'part1.Update\r\n\r\n'], k);
k = k+1;
end
end
% sweep combined lines
for i=[1:3,6:7,10:12]
fprintf(fileID,[...
'Set hybridShapeLinePtPt1 = hybridShapes7.Item("Linie.208%02d")\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1)\r\n'...
'Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirection(reference1)\r\n'...
'Set hybridShapeAssemble1 = hybridShapes7.Item("Verbindung.11%02d")\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapeAssemble1)\r\n'...
'Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 150.000000, 400.000000, hybridShapeDirection1)\r\n'...
'hybridShapeExtrude1.SymmetricalExtension = 0\r\n'...
'hybridBody4.AppendHybridShape hybridShapeExtrude1\r\n'...
'hybridShapeExtrude1.Name = "Extrudieren.10%02d"\r\n'...
'part1.InWorkObject = hybridShapeExtrude1\r\n'...
'part1.Update\r\n\r\n'],i,i,i);
end
% Shear Web
fprintf(fileID,[...
'Set hybridShapeLoft1 = hybridShapeFactory1.AddNewLoft()\r\n'...
'hybridShapeLoft1.SectionCoupling = 1\r\n'...
'hybridShapeLoft1.Relimitation = 1\r\n'...
'hybridShapeLoft1.CanonicalDetection = 2\r\n'...
'Set hybridShapeAssemble1 = hybridShapes7.Item("Verbindung.1104")\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapeAssemble1)\r\n'...
'hybridShapeLoft1.AddSectionToLoft reference1, 1, Nothing\r\n'...
'Set hybridShapeAssemble2 = hybridShapes7.Item("Verbindung.1109")\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapeAssemble2)\r\n'...
'hybridShapeLoft1.AddSectionToLoft reference2, 1, Nothing\r\n'...
'hybridBody4.AppendHybridShape hybridShapeLoft1\r\n'...
'hybridShapeLoft1.Name = "Flaeche mit Mehrfachschnitten.1001"\r\n'...
'part1.InWorkObject = hybridShapeLoft1\r\n'...
'part1.Update\r\n\r\n'...
'Set hybridShapeLoft1 = hybridShapeFactory1.AddNewLoft()\r\n'...
'hybridShapeLoft1.SectionCoupling = 1\r\n'...
'hybridShapeLoft1.Relimitation = 1\r\n'...
'hybridShapeLoft1.CanonicalDetection = 2\r\n'...
'Set hybridShapeAssemble1 = hybridShapes7.Item("Verbindung.1105")\r\n'...
'Set reference1 = part1.CreateReferenceFromObject(hybridShapeAssemble1)\r\n'...
'hybridShapeLoft1.AddSectionToLoft reference1, 1, Nothing\r\n'...
'Set hybridShapeAssemble2 = hybridShapes7.Item("Verbindung.1108")\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapeAssemble2)\r\n'...
'hybridShapeLoft1.AddSectionToLoft reference2, 1, Nothing\r\n'...
'hybridBody4.AppendHybridShape hybridShapeLoft1\r\n'...
'hybridShapeLoft1.Name = "Flaeche mit Mehrfachschnitten.1002"\r\n'...
'part1.InWorkObject = hybridShapeLoft1\r\n'...
'part1.Update\r\n\r\n']);
% extrapolate shear web
fprintf(fileID,[...
'Set hybridShapes4 = hybridBody4.HybridShapes\r\n\r\n'...
'Set hybridShapeLoft1 = hybridShapes4.Item("Flaeche mit Mehrfachschnitten.1001")\r\n'...
'Set reference1 = part1.CreateReferenceFromBRepName("BorderREdge:(BEdge:(Brp:(GSMLoft.88; (Brp:(GSMLine.84))); None:(Limits1:(); Limits2:(); -1); Cf11:()); WithPermanentBody; WithoutBuildError; WithSelectingFeatureSupport; MFBRepVersion_CXR15)", hybridShapeLoft1)\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapeLoft1)\r\n'...
'Set hybridShapeExtrapol1 = hybridShapeFactory1.AddNewExtrapolLength(reference1, reference2, 550.000000)\r\n'...
'hybridShapeExtrapol1.ContinuityType = 0\r\n'...
'hybridShapeExtrapol1.BorderType = 1\r\n'...
'hybridShapeExtrapol1.LimitType = 0\r\n'...
'hybridShapeExtrapol1.SetAssemble True\r\n'...
'hybridShapeExtrapol1.PropagationMode = 2\r\n'...
'hybridShapeExtrapol1.ExtendEdgesMode = False\r\n'...
'hybridShapeExtrapol1.ConstantLengthMode = False\r\n'...
'hybridBody4.AppendHybridShape hybridShapeExtrapol1\r\n'...
'hybridShapeExtrapol1.Name = "Extrapol.1001"\r\n'...
'part1.InWorkObject = hybridShapeExtrapol1\r\n'...
'part1.Update\r\n'...
'part1.Update\r\n\r\n'...
'Set hybridShapeLoft1 = hybridShapes4.Item("Flaeche mit Mehrfachschnitten.1002")\r\n'...
'Set reference1 = part1.CreateReferenceFromBRepName("BorderREdge:(BEdge:(Brp:(GSMLoft.89; (Brp:(GSMLine.83))); None:(Limits1:(); Limits2:(); -1); Cf11:()); WithPermanentBody; WithoutBuildError; WithSelectingFeatureSupport; MFBRepVersion_CXR15)", hybridShapeLoft1)\r\n'...
'Set reference2 = part1.CreateReferenceFromObject(hybridShapeLoft1)\r\n'...
'Set hybridShapeExtrapol1 = hybridShapeFactory1.AddNewExtrapolLength(reference1, reference2, 550.000000)\r\n'...
'hybridShapeExtrapol1.ContinuityType = 0\r\n'...
'hybridShapeExtrapol1.BorderType = 1\r\n'...
'hybridShapeExtrapol1.LimitType = 0\r\n'...
'hybridShapeExtrapol1.SetAssemble True\r\n'...
'hybridShapeExtrapol1.PropagationMode = 2\r\n'...
'hybridShapeExtrapol1.ExtendEdgesMode = False\r\n'...
'hybridShapeExtrapol1.ConstantLengthMode = False\r\n'...
'hybridBody4.AppendHybridShape hybridShapeExtrapol1\r\n'...
'hybridShapeExtrapol1.Name = "Extrapol.1002"\r\n'...
'part1.InWorkObject = hybridShapeExtrapol1\r\n'...
'part1.Update\r\n'...
'part1.Update\r\n\r\n']);
% set "Querschnittsebenen, Abschnittstrennungen, Punkte, Abschnittslinuien"
% invisible
fprintf(fileID,[...
'selection1.Add hybridBody1\r\n'...
'selection1.Add hybridBody2\r\n'...
'selection1.Add hybridBody6\r\n'...
'selection1.Add hybridBody7\r\n'...
'Set visPropertySet1 = visPropertySet1.Parent\r\n'...
'visPropertySet1.SetShow 1\r\n']);
% end of file
fprintf(fileID,[...
'selection1.Clear\r\n'...
'CATIA.RefreshDisplay = True\r\n\r\n'...
'End Sub\r\n']);
fclose(fileID);