Доброго времени суток По работе возникла необходимость определять указана ли марка материала в деталях, входящих в сборку. При этом детали подсборок так же должны быть проверены на наличие марки материала.
В итоге нужно получить отчёт, в ктором будет отражено обозначение детали, путь к документу детали и марка её материала.
С кодом для детали разобрался:
procedure TForm1.Button1Click(Sender: TObject);
VAR
swapp:variant;
md:variant;
ft:variant;
ftar:array of variant;
ff:variant;
kol,i:integer;
begin
swapp:=GetActiveOleObject('SldWorks.application');
md:=swapp.ActiveDoc;
ft:=md.FeatureManager;
kol:=ft.GetFeatureCount(true);
setlength(ftar,kol);
ftar:=ft.getFeatures(true);
if ftar<>nil then
begin
for i:=0 to kol-1 do
begin
ff:=ftar[i];
if ff.GetTypeName='MaterialFolder' then
listbox1.Items.Add(md.GetPathName+'->'+ff.Name);
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.
Вот что в итоге:
А вот как просмотреть марку материала деталей в сборке (а так же включая подсборки) понять не могу