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


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
ExportToDXF с помощью API, Помогите пожалуйста!
 
Так вот по существу - не работает! Подскажите, может где-то ошибка?:idontnow:
Импорт в конце кода.
X
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using TFlex;
using TFlex.Model;
using TFlex.Model.Model2D;
using System.IO;

namespace API2
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
   public Document doc;
   public Point clickPoint;
   TFlex.Model.Model2D.FreeNode FNod;
public MainForm()
{
           //Укажите Вашу версию T-FLEX CAD либо T-FLEX Viewer
           string version = "T-FLEX CAD 3D 11.0\\Rus";
           //string version = "T-FLEX Viewer 11.0\\Rus";

           //Метод определяющий директорию, в которую установлен T-FLEX CAD
           APILoader.Initialize(version);

           //Метод, инициализирующий API
           APILoader.InitializeTFlexCADAPI();

           //Инициализация компонентов windows-формы
           InitializeComponent();
}
//Открыть документ T-Flex CAD
void Button1Click(object sender, EventArgs e)
{
//Показать диалог открытия документа T-FLEX CAD
           OpenFileDialog openFileDlg = new OpenFileDialog();
           openFileDlg.Title = "Open Document";
           openFileDlg.Filter = "T-FLEX CAD Document (*.grb)|*.grb";
           openFileDlg.FilterIndex = 1;
           if (openFileDlg.ShowDialog() == DialogResult.OK)
           {
               doc = TFlex.Application.OpenDocument(openFileDlg.FileName);
               //Отобразить документ T-FLEX CAD в элементе типа control1
               tfcontrol.Document = doc;
               //Показать построения (команда "Скрыть построения" в false)
               tfcontrol.HideConstructions = false;
           }
}

void Button2Click(object sender, EventArgs e)
{
//Закрыть документ
           ClosingDocument();

           //Создать новый документ
           doc = TFlex.Application.NewDocument();

           //Отобразить документ T-FLEX CAD в элементе типа control1
           tfcontrol.Document = doc;

           //Показать построения (команда "Скрыть построения" в false)
           tfcontrol.HideConstructions = false;
}

      private void ClosingDocument()
       {
           if (doc != null)
           {
               //Закрыть документ
               doc.Close();

               //Обнулить ссылку на документ
               doc = null;
           }
       }

void MainFormFormClosed(object sender, FormClosedEventArgs e)
{
//Закрыть документ
           ClosingDocument();

           //Деинициализация API
           APILoader.Terminate();
}

void Button4Click(object sender, EventArgs e)
{
Close();
}

       //Экспорт из GRB в DXF
void Button5Click(object sender, EventArgs e)
{
SaveFileDialog dialog = new SaveFileDialog ();
           dialog.Filter = "DXF files (*.dxf)|*.dxf";
           if(dialog.ShowDialog() != DialogResult.OK)
            return;
           doc.Activate();
           ExportToDXF exp = doc.ExportToDXF;
           exp.Export(dialog.FileName);
}

// Импорт
void Button6Click(object sender, EventArgs e)
{
           OpenFileDialog dialog = new OpenFileDialog();
           dialog.Filter = "DXF files |*.dxf";
           if (dialog.ShowDialog() != DialogResult.OK)
            return;
           var document = TFlex.Application.OpenDocument(dialog.FileName);
           MessageBox.Show("OK");

           SaveFileDialog dialog1 = new SaveFileDialog ();
           dialog1.Filter = "GRB files (*.dxf)|*.dxf";
           if(dialog1.ShowDialog() != DialogResult.OK)
            return;
           ImportFromACAD imp = new ImportFromACAD(document);
           imp.Import(dialog.FileName);// в этом месте выдает "В экземпляре объекта не задана ссылка на объект"
           MessageBox.Show("OK");
}

}
}

а если как вы пишете:
           ImportFromACAD imp = document.ImportFromACAD;
           imp.Import(dialog.FileName);
           MessageBox.Show("OK");
то вообще не компилируется (ошибку уже описывал выше)

дело в том, что классу Document не доступно свойство ImportFromACAD (доступно только ImportedOperations ,ImportVariables). Так вроде!?

Если не прав - просветите пожалуйста!
ExportToDXF с помощью API, Помогите пожалуйста!
 
Хорошо как скажете)))"на брудершафт мы не пили". Не привык на Вы, на Ты как-то проще! Тыкать не собирался. Извините, если оскорбил тем самым!
ExportToDXF с помощью API, Помогите пожалуйста!
 
Да ну, как же!
"ImportFromACAD imp = document.ImportFromACAD;"
:nono:
("TFlex.Model.Document" не содержит определение для "ImportFromACAD". Не удалось найти метод  расширения "ImportFromACAD", принимающий первый аргумент типа "TFlex.Model.Document"  (пропущено использование директивы или ссылка на сборку ))

Немного не понял твои комментарии! :idontnow:
Приведи тот код который ты имел ввиду!?
ExportToDXF с помощью API, Помогите пожалуйста!
 
OpenFileDialog dialog = new OpenFileDialog();
           dialog.Filter = "DXF files |*.dxf";
           if (dialog.ShowDialog() != DialogResult.OK)
            return;
           var document = TFlex.Application.OpenDocument(dialog.FileName);
           MessageBox.Show("OK");

           SaveFileDialog dialog1 = new SaveFileDialog ();
           dialog1.Filter = "GRB files (*.grb)|*.grb";
           if(dialog1.ShowDialog() != DialogResult.OK)
            return;
           ImportFromACAD imp = new ImportFromACAD(document);
           imp.Import(dialog1.FileName);// выдает ошибку в этой строке (В экземпляре объекта не задана ссылка на объект). А без этой строки не сохраняет.
           MessageBox.Show("OK");
ImportDXF, Как реализовать импорт DXF файла в GRB
 
Помогите пожалуйста!
Пишу программу в SharpDevelop, подключил библиотеку TFlexAPI.dll, реализовал экспорт (ExportToDXF) из GRB в DXF формат.
А можно ли импортировать из DXF в GRB (и прочитать DXF формат)? Если да, то помогите кодом!
Заранее спасибо!
ExportToDXF с помощью API, Помогите пожалуйста!
 
До этого я допетрил)
А как импортировать DXF файл в программе. То есть получается та же функция в T-Flex - Импорт. Мне нужно взять DXF и сохранить его в GRB (или сначала открыть). Это возможно?
Заранее, Спасибо!
ExportToDXF с помощью API, Помогите пожалуйста!
 
На предыдущий вопрос я сам нашел ответ. Все работает.
Теперь другая проблема! Как импортировать DXF файл с помощью API?
ExportToDXF с помощью API, Помогите пожалуйста!
 
Спасибо!
Код работает как Макрос. А вот вопрос, можно ли это использовать в моей программе? К примеру, открываю файл GRB и экспортирую его в DXF, не запуская при этом T-FLEX. Я подключил библиотеки TFlexAPI.dll и  *** .dll. Что-то еще нужно? И можно ли открыть DXF формат с помощью библиотек T-FLEX?
ExportToDXF с помощью API, Помогите пожалуйста!
 
В T-FLEX есть функции Импорта/Экспорта. Я пишу программу на SharpDevelop. Нужно Экспортировать из GRB в DXF.
Подскажите как это сделать с помощью ExportToDXF. Если можно в примере!
Страницы: 1