Як макросом відкрити документ (файл) solidworks, начерки програміста

Досить часто при роботі програми нам може знадобитися відкрити файл деталі, збірки або креслення. Наприклад, ми пишемо скрипт, який повинен збирати параметри деталей в окремий файл. Він повинен відкрити деталь зібрати необхідну інформацію і потім закрити.

Розглянемо їх більш детально.

Метод OpenDoc6 приймає 6 параметрів.

[ModelDoc2] = [SldWorks] .OpenDoc6 (FileName, Type, Options, Configuration, Errors, Warnings)

FileName. Тип string. Ім'я документа разом з розширенням, або повний шлях, якщо він знаходиться не в поточній директорії (папці).

Type. Тип integer або long. Вид документа. Число відповідне іменованої константи з enum-списку swDocumentTypes_e. (Докладніше дивись пост: як визначити тип документа)

Options. Тип integer або long. Режим, в якому відкривати документ. Сума чисел з enum-списку swOpenDocsOptions_e.
Можливі значення:

Хочу зауважити, що можна вказувати одночасно кілька значень. Для цього достатньо просто скласти числа.

Configuration. Тип string. Яку конфігурацію відкривати. Якщо порожній рядок - то відкривається остання використовувана конфігурація.

Errors. Тип long. Сюди пишеться помилка, яка трапляється при відкритті файлу. Число з enum-списку swFileLoadError_e.

  • 2 - файл не знайдений.
  • 65536 - документ з таким ім'ям вже відкрито
  • 8192 - документ збережений в майбутній версії
  • 1024 - тип файлу не підходить
  • 131072 - файл зашифрований
  • 262144 - недостатньо пам'яті для роботи
  • 524288 - файл містить не відображаються дані

Warnings. тип long. попередження або додаткова інформація при відкритті файлу. Значення з enum-списку swFileLoadWarnings_e

  • 128 - документ вже відкрито
  • 64 - документ був визначений в контексті іншого, який ще не був завантажений.
  • 32768 - документ відкритий тихо і в Options вказано параметр 32 (swOpenDocOptions_AutoMissingConfig)
  • 16384 - деякі розміри в кресленні некоректні
  • 4 - документ використовується іншим користувачем
  • 32 - документ потребує перестроюванні

Метод OpenDoc6 повертає покажчик на об'єкт класу ModelDoc2
Приклад відкриття файлу за допомогою методу OpenDoc6:

Метод OpenDoc7 приймає один параметр. Це більш свіжий метод в порівнянні з OpenDoc6.

[ModelDoc2] = [Sldworks] .OpenDoc7 Specification

Specification - об'єкт класу DocumentSpecification.

Отримати цей об'єкт можна за допомогою методу GetOpenDocSpec інтерфейсу ISldWorks.

Він приймає один параметр.

[DocumentSpecification] = [ISldWorks] .GetOpenDocSpec (FileName)

FileName. Тип string. Повний шлях до файлу.

По суті цього вистачить. Тобто нам досить знати тільки шлях до файлу, щоб його відкрити.

Але клас DocumentSpecification існує не просто так. Він містить властивості, які дозволяють, як вказати більш детальні настройки для відкриття файлу, так і отримати інформацію про відкрите файлі.

Наприклад, можна отримати інформацію про помилки, типі документа, конфігурації і т.д. Метод OpenDoc7 дозволяє більш гнучко працювати з настройками при відкритті файлу і дає більше інформації про файл. Крім того, він новіший, тому рекомендується використовувати його. Метод OpenDoc6 залишився більше для сумісності.

Приклад відкриття файлу деталі за допомогою методу OpenDoc7:

Схожі статті