Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
[ Закрыто ] T-FLEX CAD 15 и Visual Studio 2015, Как подключить T-FLEX CAD 15 к Visual Studio 2015
 
Добрый день. Пытаюсь подключить t-flex 15 к visual studio 2015. Вроде бы всё делаю правильно, прописал путь вывода к папке с TflexApi.dll, ссылочный путь также указал к той же папке. В ссылки добавил TFlexAPI и *** , свойства копировать локально сделал у обоих false. Платформу для сборки выбрал x86. Проект запускается, но когда выполняю функцию выдает такую ошибку:
Необработанное исключение типа "System.BadImageFormatException" в ....

Дополнительные сведения: Не удалось загрузить файл или сборку "TFlexAPI, Version=15.0.5.0, Culture=neutral, PublicKeyToken=eab6a180a6be0d77" либо одну из их зависимостей. Была сделана попытка загрузить программу, имеющую неверный формат.

Подскажите, как это исправить.
 
raister32, Troubleshooting BadImageFormatException
T-FLEX CAD 17.1.6.0
 
Vite, посмотрел то, что вы мне скинули. Вроде помогло, но теперь стала вылезать другая ошибка :[. Дополнительные сведения: Не удалось загрузить файл или сборку " *** .dll" либо одну из их зависимостей. Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL). (Исключение из HRESULT: 0x8007045A).
 
Vite, ТФлекс3Д.длл и ТФлекс.длл имеются в папке с проектом. Может что то не так в исходном коде. Просто первый раз пытаюсь T-flex подключить к visual studio, поэтому возможно мои вопросы немного глупые. Возможно какой-то подвох в исходном коде, но я думаю вряд ли
Код
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TFlex;
using TFlex.Model;
using TFlex.Model.Model3D;
using TFlex.Model.Model3D.Geometry;
using TFlex.Drawing;
using TFlex.Command;
using TFlex.Configuration;
using TFlex.Model.Data;
using TFlex.Model.Structure;
using TFlex.Model.Model3D.Visual;
using TFlex.Configuration.Attributes;

namespace Lab2RazrabotkaSapr
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
            if (radioButtonOpen.Checked == true)
            {
                buttonObzor.Enabled = true;
            }
        }

        private void buttonObzor_Click(object sender, EventArgs e)
        {
            //openFileDialog1.ShowDialog();
            PolylineSplinePath3D(); // в этом месте возникает ошибка!!!
        }

        public static void PolylineSplinePath3D()
        {
            Document document = TFlex.Application.ActiveDocument;//Получение активного документа
            document.BeginChanges("3D путь - полилиния");//Открытие блока изменений документа

            PolylineSplinePath3D polylineSplinePath3D = new PolylineSplinePath3D(document);
            PointsArray pa = polylineSplinePath3D.Points;

            CoordinateNode3D node1 = new CoordinateNode3D(document);
            node1.X = 100; node1.Y = 100; node1.Z = 100;

            CoordinateNode3D node2 = new CoordinateNode3D(document);
            node2.X = 120; node2.Y = 130; node2.Z = 100;

            CoordinateNode3D node3 = new CoordinateNode3D(document);
            node3.X = 120; node3.Y = 140; node3.Z = 130;

            pa.Add(node1.Geometry.Point);
            pa.Add(node2.Geometry.Point);
            pa.Add(node3.Geometry.Point);

            document.EndChanges();//Закрытие блока изменений документа
        }




    }
}
 
raister32, если вы хотите использовать API для обработки документа из внешнего приложения (не запуская T-FLEX CAD), нужно загрузить API-стек в память (см. пример: "C:\Program Files\T-FLEX CAD 15 x64\API\TFlexControlSample\APILoader.cs").
T-FLEX CAD 17.1.6.0
 
Vite, может быть я не правильно вас понял. Я когда запускаю проект и использую функцию, то в этот момент T-Flex уже запущен, а ошибка всё равно выпадает.
 
Что за *** .dll?
Выложи весь проект, опыта гадания не так много.
 
zobza, Скидываю проект. Еще при попытке работать с 2д, тоже ничего не получается выдает ошибку: Необработанное исключение типа "System.AccessViolationException" в TFlexAPI.dll

Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена. Пробовал и OpenDocument и ActiveDocument и NewDocument. Эти две функции в проекте взяты из руководства по T-flexApi в самой сапр. Если, что то не так делаю, не будьте слишком строги, делаю только первый шаги в Api t-flex, объясните подробно, что делаю не так)))
Цитата
zobza написал:
Что за *** .dll?
Выложи весь проект, опыта гадания не так много.
Заместо *** должно быть TFlex3Д.длл, я не знаю почему английское название звездочками отображает.
Заранее спасибо. :)
 
Смотри проект C:\Program Files\T-FLEX CAD 15 x64\API\TFlexControlSample, там подключаются dll во внешнее приложение.
 
raister32, если вы хотите написать расширение (см. пример: "C:\Program Files\T-FLEX CAD 15 x64\API\StarsPlugin")
T-FLEX CAD 17.1.6.0
Страницы: 1