Страница 1 из 2
Создание дерева сборки

Добавлено:
24 окт 2007 11:10
Dasty
Народ Привет!
Кричу о помощи.....
есть такая задача.... имеем текстовый документ в виде (к примеру)
Ass_1
-pod_sborka_1
-pod_sborka_n
Вообщем нужно шо бы катька строила дерево на основе записей в текстовом документе
Буду очень признателен!
Спасибо!
Re: Создание дерева сборки

Добавлено:
24 окт 2007 13:43
GTV
Самое простое - это свалять CATVBA-макрос который:
1. Покажет окошко с выбором файла
2. Откроет выбранный файл
3. Создаст новый CATProduct
4. Построчно читая файл добавит под-сборки (или под-компоненты) в узлы дерева определяемые количеством пробелов (или табов) в начале строки.
Затем макрос вывесить в тулбар и наслаждаться жизнью
Я правильно понял ?
Re: Создание дерева сборки

Добавлено:
24 окт 2007 14:18
Dasty
угу..... тока программер я 0
Re: Создание дерева сборки

Добавлено:
24 окт 2007 14:29
[PTM]
запись макроса рулит!!!
останеться добавить обработку текстовика и оформить добавление продукта/парта и запихнуть в цикл.
а в качестве прибамбаха-диалоговое окно для указания пути)
Re: Создание дерева сборки

Добавлено:
24 окт 2007 14:35
Dasty
Точно запись макросов (ведь юзал как то)... Жень спасибо! попробую.... может прокатит
Re: Создание дерева сборки

Добавлено:
24 окт 2007 14:53
[PTM]
Прокатит я уже попробовал) только текстовик не знаю как обработать)
Re: Создание дерева сборки

Добавлено:
24 окт 2007 15:21
Dasty
я вот думаю может все это строить на основе данных из экселя + можно попробовать что бы подсборки и компоненты создавались уже с заполненными на них атрибутами
Re: Создание дерева сборки

Добавлено:
24 окт 2007 15:37
[PTM]
мини совет...
отформатируй и продумай структуру входных данных покажи програмерам... а они уже будут советовать что-то конкретное ....а так вода получаеться...
Re: Создание дерева сборки

Добавлено:
24 окт 2007 15:53
Dasty
Согласен но
если кто и поможет из уважаемых участников
я думаю они дадут исходник на vb а там я мог бы ее адаптировать в зависимости от используемых атрибутов.. а структура дерева простая Основная сборка аля новый файл и подсборки в нем и компоненты
Re: Создание дерева сборки

Добавлено:
24 окт 2007 17:23
ExtraRight
Советую использовать формат текстового файла, аналогичный тому, который получается при сохранении Product в виде .txt в меню Save As
Re: Создание дерева сборки

Добавлено:
31 окт 2007 14:13
Dasty
..... написал, писал писал, попал в ступор.... Вытащил уважаемый Shadow за, что Ему Огромное спасибо!
в вложении сама утилита и экселевский файл.
Первая ячейка А1 - имя корневой сборки, запустите утилиту укажите экселевский файл, получите дерево, затем откройте эксельвский файл и Вы все поймете... прошу строго не судить не программист я

Re: Создание дерева сборки

Добавлено:
31 окт 2007 15:34
[PTM]
Да отмечу, что скрипт предназначен для создания структуры сборки с глубиной вложенности =1
ибо в басике я не мастак.
для создания своей кнопочки надо добавить модуль с содержанием
- Код: Выделить всё
Sub CATMain()
AttrForm.Show (1)
End Sub
а затем назначить этот модуль на кнопку.
ну более добавить ничего не могу ибо половинными идеями делиться не оч люблю)
Re: Создание дерева сборки

Добавлено:
25 ноя 2007 16:52
CADRus
Мне кажется...
Чтобы сохранить возможность простого задания файла с описанием структуры сборки в текстовике, и чтобы просто было его обрабатывать в скрипте, надо сбоку описывать в формате XML.
XML легко парсить из VB и из любого другого языка.
Возможно даже без рекурсивного обхода всех уровней сборки.
Это всего лишь идея, реализовать не пробовал.
Re: Создание дерева сборки

Добавлено:
25 ноя 2007 17:47
[PTM]
ну тут на самом деле 3 пути:
хмл
тхт
эксель
вопрост в том как сделать неограниченную вложенность( или вызывать рекурсию что увеличит потребление памяти или пред анализ что увеличит время...я бы выбрал № 2)
а как и что обрабатывать неважно ...лишь бы вы умели это делать
Re: Создание дерева сборки

Добавлено:
25 ноя 2007 18:05
CADRus
А я бы выбрал вариант N1
Ведь первичный мотив такой автоматизации - бОльшая экономия времени... IMHO
В варианте с Excel структура обрабатываться будет ещё дольше
Re: Создание дерева сборки

Добавлено:
29 ноя 2007 13:21
AnTe
А, может, кто-нибудь подскажет заготовку решения обратной задачи?
Получение дерева?
Понимаю, один из вариантов - сохранить его, в упомянутом ExtraRight действии Save As.., а потом уже эту текстуху разбирать. Но некрасиво это как-то. А если формат сменится? Ну или прогу нужно будет развить?
Re: Создание дерева сборки

Добавлено:
29 ноя 2007 13:58
[PTM]
посмотри скрипт StrCreateUserParameters.CATScript в стандартной скриптовой папке и вместо задания параметров выведи в файл нужного тебе формата добавив условия различия по наименованию(парт,продукт) и степени вложенности
Да и если кто-то доработает скрипт до неограниченной вложенности то многим думаю будет интересно посмотреть
Re: Создание дерева сборки

Добавлено:
04 дек 2007 10:13
[PTM]
А я бы выбрал вариант N1
Ведь первичный мотив такой автоматизации - бОльшая экономия времени... IMHO
В варианте с Excel структура обрабатываться будет ещё дольше
да текстовая инфа будет обрабатываться быстрее чем эксель)))
кстати по такому принципу создан исмарт с бомом выложенный Алексеем в механикале
Re: Создание дерева сборки

Добавлено:
04 дек 2007 13:01
Dasty
Где Бы вот исходник BOM_RU.exe нарулить....
Re: Создание дерева сборки

Добавлено:
04 дек 2007 16:51
[PTM]
кстати можно вом и самому сделать...
идея такова...
в сборке,отдельном парте задаються основные данные
такие как
чертил
Наименование
итп
в самой сборке
запускаеться скрипт скрипт генерит встроенными ср-вами бом по шаьлону из заданных свойств( файл настроек)
затем обработывает обм файл---или текстовик или эксель
сортирует полученную таблицу данных по выбранному критерию и генерит в драфтинге листы спецификации
в данном примере самое сложное это создать файл натроек и обработка текстовика
итогом такого скрипта будет 1 файл с кучей листов спецификации ну ессно не ассоциативно...хлтя полуассоциативно сделать можно
Re: Создание дерева сборки

Добавлено:
04 дек 2007 21:09
Dasty
интересуют мысли сообщества на тему парсинга отчетов Катии по сбороке, ведь она может все сохрнаить в Excel
а из него дергать данные и вставлять в шаблон спецификации, кто что думает?
Re: Создание дерева сборки

Добавлено:
31 мар 2008 07:10
Rybuf
Вопрос по теме. Застопорился на одном месте 3-й день.
Загружаю файл сборки через Catia.Application, получаю доступ к объектам сборки и кроме свойств: PartNumber, Nomeclature, Revision ничего не могу извлечь.
Пример:
- Код: Выделить всё
Catia, Products, pr: Variant;
......
try
// Create Catia Instance
Catia := CreateOleObject('Catia.Application');
except
ShowMessage('Cannot start Catia.');
Exit;
end;
OpenDialog1.Filter := 'Catia product files (*.CATProduct)|*.CATProduct|All files (*.*)|*.*';
if OpenDialog1.Execute then begin
Catia.Documents.Open(Opendialog1.FileName);
Catia.Visible := True ;
Products := CATIA.ActiveDocument.Product.Products;
for i:=1 to Products.Count do begin
memo1.Lines.Add(Products.Item(i).PartNumber);
memo1.Lines.Add(Products.Item(i).Definition); // и т.д.
end;
end;
1. Как определить тип объекта (сборка, деталь)?
2. Как узнать у бъекта имя файла и полный путь?
Re: Создание дерева сборки

Добавлено:
31 мар 2008 08:34
Artem
Fullname у Activedocument - полный путь даст
Name у него же - имя файла
По расширению и определяй тип...(Желат. без учета регистра ибо катька сохраняет например CATPart а из смартима catpart)
Зы.
Мож пригодится: Получение документа из продукта
Product.ReferenceProduct.Parent
Re: Создание дерева сборки

Добавлено:
31 мар 2008 09:39
Rybuf
Спасибо за подсказку особенно за Product.ReferenceProduct.Parent все прошло на ура. Осталось только сделать рекурсивный вызов и можно будет капать до самого низа.
Если кому надо, то код на delphi после доработки могу выложить.
Re: Создание дерева сборки

Добавлено:
01 апр 2008 17:32
AnTe
Спасибо за подсказку особенно за Product.ReferenceProduct.Parent все прошло на ура. Осталось только сделать рекурсивный вызов и можно будет капать до самого низа.
Если кому надо, то код на delphi после доработки могу выложить.
Очень интересно! Выложи, если не затруднит!