Имя: Пароль:
1C
1С v8
как подружить 1с и Компас 3D
0 Serega103
 
27.05.19
08:47
Добрый день, подскажите пожалуйста кто сталкивался. Пытюсь подружить Компас 3D и 1с.
делаю так
kompas=Новый COMОбъект("Kompas.Application.5");
kompas.Visible=Истина;
//тут всё ок, компас запускается и показывается

далее хотелось бы создать новый чертёж, вот пример для C#, не пойму как это преобразовать в код для 1с

//Подготавливаем параметры документа
DocumentParamPtr DocumentParam;
DocumentParam=(DocumentParamPtr)kompas->GetParamStruct(ko_DocumentParam);
DocumentParam->Init();
DocumentParam->type = lt_DocSheetStandart; //Тип: чертеж

//Создаем чертеж
Document2DPtr Document2D;
Document2D = (Document2DPtr)kompas->Document2D();
Document2D->ksCreateDocument(DocumentParam);

особенно вызывает вопрос параметр ko_DocumentParam, в описании указано что нужно использовать "using Kompas6Constants", но как это применить в 1с тоже не понятно
1 Кодер
 
27.05.19
09:37
Зачем это делается?
2 ДенисЧ
 
27.05.19
09:41
Берём эксель, подключаем в нём (в редакторе ВБ) соответсвующие объекты компаса, F2, ищем Kompas6Constants и там смотрим числовое значение этой константы.

Дальше что-то типа

DocumentParam=kompas.GetParamStruct(<значение константы>);

Document2D = kompas.Document2D();
Document2D.ksCreateDocument(DocumentParam);
3 Serega103
 
27.05.19
09:53
(1) есть небольшая деталь на которой расположение отверстий постоянно меняется в зависимости от параметров заказа, поступило предложение от руководства автоматизировать процесс, понимаю что гемор, но интересно попробовать.

(2) спасибо за наводку, будем пробовать.
4 Кодер
 
27.05.19
10:01
В AutoCAD это делали функцией на LISP на 1 курсе. В Компасе есть свой родной язык? Если нет - генерируй Visual Basic, а параметры передавай из 1С.
5 Serega103
 
27.05.19
10:07
(4) думаю должен быть, вобщем пища для размышлений появилась, будем думать. Спасибо.
6 Mikeware
 
27.05.19
10:15
(4) это все-таки не автокад
И в компасе в комплекте есть примеры на нескольких языках.
7 Mikeware
 
27.05.19
10:18
8 Mikeware
 
27.05.19
10:20
(0) для того, чтоб использовать константы - смотри заголовочные файлы для c/c++, и тяни оттуда
9 Mikeware
 
27.05.19
10:29
Кстати, можно в клюшках IntsOLEGenerator использовать. правда, можно ли потом как-то использовать полученый als в снеговике - не знаю...