Здравствуйте.
Подскажите, пожалуйста, как используя C# осуществить экспорт эскиза из модели детали в файл DXF/DWG&
Подробнее:
В самом Inventor есть комманда "Экспортировать эскиз как..."
Из найденной мной информации для экспорта в DXF/DWG используются два addin:
Вот такой код
TranslatorAddIn oDWGAddIn = (TranslatorAddIn)m_inventorApp.ApplicationAddIns.get_ItemById("{C24E3AC2-122E-11D5-8E91-0010B541CD80}");// dxf if (!oDWGAddIn.Activated) { oDWGAddIn.Activate(); } TranslationContext oContext = m_inventorApp.TransientObjects.CreateTranslationContext(); oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism; NameValueMap oOptions = m_inventorApp.TransientObjects.CreateNameValueMap(); DataMedium oDataMedium = m_inventorApp.TransientObjects.CreateDataMedium(); MessageBox.Show(oDWGAddIn.SupportsSaveCopyAsFrom);
показывает из каких объектов этот addin может сделать экспорт
И если ему на вход подать один из документов Inventor
oDWGAddIn.SaveCopyAs(m_inventorApp.ActiveDocument, oContext, oOptions, oDataMedium);
то я получаю DXF файл с видом спереди всей модели.
А если пытаюсь подать ему на вход Sketch
PartDocument pDoc = (PartDocument)m_inventorApp.ActiveDocument; PlanarSketch sk = pDoc.ComponentDefinition.Sketches[1]; oDWGAddIn.SaveCopyAs(sk, oContext, oOptions, oDataMedium);
то получаю ошибку
Решено! Перейти к решению.
Решено: Alexander.Rivilis. Перейти к решению.
Увы но похоже oDWGAddIn.SaveCopyAs в качестве первого аргумента принимает только Document. Во всяком случае я не нашел примеров, когда этому методу передавалось что-то иное.
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Пожалуй я не прав. Нашелся такой >>>пример<<< (на VBA, но думаю что переделать на C# будет не сложно)
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Спасибо за пример, но все оказалось не так просто.
Вставив строку
options.Value("Sketch") = True
в свою программу, получил чертеж модели с эскизом.
Для наглядности:
1. Имеем деталь со свободным эскизом
2. Создаем правило iLogic как в примере выше и запускаем его. Получаем файл DWG с контуром детали и эскизом
3. Меняем в правиле iLogic строку
options.Value("Sketch") = True
на
options.Value("Sketch") = False
и получаем файл DWG с контуром детали без эскиза
Т.е. в любом случае получаем файл со всеми элементами детали, а не конкретного эскиза.
В тексте примера есть фраза "Create a sketch and run this macro from the sketch enviroment." Как я понимаю здесь говорится что макрос нужно запустить из окружения 2D эскиза.
Попытался запустить правило из режима редактирования эскиза - результат не изменился.
Т.е. Inventor выполняет экспорт конкретного эскиза каким-то другим способом.
Если очень нужна прямая информация по этому вопросу от Autodesk предлагаю создать эту тему здесь: http://adn-cis.org/forum/index.php?board=26.0
Необходимо будет предоставить:
1) Файл Inventor'а (например, тот с которого вы показали картинки)
2) Код, которым вы пытаетесь вывести Sketch в dwg-файл
3) Картинки с результатами, которые получаются
Я отправлю запрос в ADN DevHelp.
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Продолжение темы здесь: [Inventor 2016, C#] Экспорт эскиза в файл DXF/DWG
Запрос отправлен в ADN DevHelp.
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Результат общения - следующий код:
Sub main() Dim partdoc As PartDocument Set partdoc = ThisApplication.ActiveDocument Dim selectedsketch As Sketch Set selectedsketch = partdoc.SelectSet(1) ' Подразумевается, что эскиз выбран. Dim oDataIO As DataIO Set oDataIO = selectedsketch.DataIO oDataIO.WriteDataToFile "DXF", "D:\Temp\mysketch.dxf" End Sub
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.