Перейти к публикации

Разработка приложений для Solidworks


Рекомендованные сообщения

Уважаемые программеры помогите пожалуйста!

:clap_1: Написал программу на Delphi по формированию спецификации по сборочному чертежу SolidWorks и другие полезные проги. Хочу чтобы они запускались из SolidWorks (посредством add-in в DELPHI).

Но у меня возникли следующие пока неразрешимые вопросы:

не могу разобраться как создать свою панель или раздел меню в SW (как работают методы AddMenuItem, AddToolbar) и привязать к ним свои функции из собственной DLL;

(Я создал проект Active Library добавил в него Active Server Object, получил DLL, зарегистрировал ее в системе, прописал CLSID сокласса в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\AddIns. При попытке подключить свою DLL в SW выдается сообщение “DLL невозможно загрузить. Добавление или один из его компонентов отсутствует ”)

Где должны располагаться методы:

- получить ссылку на объект SW,

- создать свою панель

- привязать к созданной панели метод из DLL;

Ссылка на сообщение
Поделиться на других сайтах


Это из АПИ Солида. Ты не все прописал :smile:

I. Registry Requirements

In the registry under HKEY_LOCAL_MACHINE/software/SolidWorks/Applications add a subkey for your application. This subkey should have a value with a value name of "CLSID" and a string containing the unique CLSID of your application.

Under HKEY_CLASSES_ROOT/CLSID your application should have a unique CLSID which matches the CLSID used in step 1. Your CLSID subkey entry should have a value with no name which is a description of your program. This description will be used in the Add-In Manager dialog box and must not exceed three lines of text, or approximately 132 characters.

Your HKEY_CLASSES_ROOT/CLSID entry should have subkey InprocServer32, which should contain the full path and name of your main DLL.

Here is a sample extract from a .REG file:

[HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Applications\Sample Add-In]

"CLSID"="{42CF4A11-CC8F-11d0-9EC3-00609728F9FE}"

[HKEY_CLASSES_ROOT\CLSID\{42CF4A11-CC8F-11d0-9EC3-00609728F9FE}]

@="Sample C++ Add-In for SolidWorks. Illustrates general format required of a SolidWorks Add-In."

[HKEY_CLASSES_ROOT\CLSID\{42CF4A11-CC8F-11d0-9EC3-00609728F9FE}\InProcServer32]

@="c:\\sldworks\\samples\\comuserdll\\i386\\windebug\\userdll.dll"

про функциии

retval = SldWorks.AddMenuItem ( docType, menu, position, callbackModuleAndFcn )

Input:

(long) docType

The document type to which the menu item is to be added.

Input:

(BSTR) menuItem

the menu string (ie - "menuItem@subMenuString@menuString" ). Menus and submenus will be created if they do not already exist.

Input:

(long) Position

Specifies the position at which to add the new menu item. The first item is at position 0. If Position is –1, the new menu item is added to the bottom of the list. This argument specifies the position of the menu-item in relation to its immediate parent menu.

Input:

(BSTR) callbackFcnAndModule

Function to be called when user clicks your menu item (see below.)

Return:

(long) retval

1 if menu item was successfully added, 0 if failure

Syntax (COM)

status = SldWorks->AddMenuItem ( docType, menuItem, position, callbackModuleAndFcn, &retval )

Input:

(long) docType

the document type to which the menu item is to be added.

Input:

(BSTR)menuItem

the menu string (ie - "menuItem@subMenuString@menuString" ). Menus and submenus will be created if they do not already exist.

Input:

(long)position

specifies the position at which to add the new menu item. The first item is at position 0. If Position is –1, the new menu item is added to the bottom of the list. This argument specifies the position of the menu-item in relation to its immediate parent menu.

Input:

(BSTR) callbackFcnAndModule

function to be called when user clicks your menu item (see below.)

Output:

(long)retval

1 if menu item was successfully added, 0 if failure

Return:

(HRESULT)status

S_OK if successful

Remarks

This capability only operates when your application is implemented as a DLL, not as an EXE. In addition, any function to be exposed as a callback from a menu item, must be declared as an EXPORT or included in your .def file.

Почитай АПИ Солида. ТАм вроде все четко расписанно

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Артур8991
    • soldo
      @maxx2000 Спасибо за развернутый ответ, очень помогли! @ak762 Благодарю, хороший вариант.
    • ak762
      holder - держатель, и так как узел используется для закрепления инструмента, в адаптированном на русский я бы использовал резцедержатель  в конкретном случае похоже sleeve эквивалент collet т.е. цанга получается 5 spindle sleeve holder = 5-ти местный цанговый держатель/резцедержатель
    • ДОБРЯК
      А что еще остается делать. В Ансис точно частоты будут разные, даже не сомневайтесь...
    • ДОБРЯК
      Кроме собственных чисел нужно еще и собственные вектора найти. Вы даже не понимаете задачи. Надо решить квадратное уравнение, чтобы найти два собственных числа и вектора для задачи любой размерности. Такой глупости я еще не слышал. Поэтому и смеюсь над вашими знаниями, которые вы еще в детском саду получили. И этим гордитесь... :=)
    • maxx2000
      прямо по чертежу 1. инструмент 2.гайка цангового патрона типа ER 3. хвостовик цангового патрона 4 многоместный держатель 5. Фиксирующие винты   Открутите гайку цангового патрона и установите в неё цангу нужного размера, накрутите на место; Установите в цангу инструмент и затяните гайку цангового патрона; Ослабьте крепёжные винты на многоместном держателе и отрегулируйте положение инструмента; Затяните фиксирующие винты;
    • Ander
    • ak762
      я бы попросил у заказчика дать конкретную марку применяемого материала и использовать эти данные для расчета судя по данным с MatWeb https://www.matweb.com/search/DataSheet.aspx?MatGUID=08fb0f47ef7e454fbf7092517b2264b2 там разброс механических свойств материала существенный включая зависимость от наполнителя и способа изготовления    
    • Jesse
      потестил со смещённым колесом.. Если коротко, то печаль)) В модальнике прикладываю вращение в разные сторона, частота та же. Пробовал даже "гнуть в разные стороны" - извлекать деформированные модели, когда уск. своб. падения направлено вверх и вниз. В модальниках частота та же, без изменения.. @Борман@AlexKazну что ж, если выкрутиться никак, будем осваивать Ansys. Чё ещё остаётся делать?!)))) Вроде какие-то видосики есть на ютюбе. Спс за овтеты)
    • soldo
      Приветствую всех! Часто искала информацию на форуме, связанную с переводом, но кое-что не могу найти и хочу попросить о помощи. Я перевожу инструкцию для токарного автомата продольного точения и не очень хорошо понимаю все, что связано с креплением инструмента к станку. Конкретно меня интересуют следующие вопросы. Станок оснащен разными инструментальными блоками, есть суппорт с резцами, блок с инструментами для поперечного сверления и т.д.  И есть один блок, который на корявом английском называется 5 spindle sleeve holder, На этом блоке 5 шпинделей и на них можно закрепить инструмент для сверления, нарезания резьбы и растачивания. В названии этого блока фигурируют какие-то втулки (sleeve), предполагаю, что это патроны? Вот, что примерно написано в инструкции по поводу установки инструмента в этом блоке: (1) Ослабьте стопорный винт ② и установите режущий инструмент ① на втулку ③. (2) Затяните стопорный винт ② и закрепите режущий инструмент ① на втулке ③. (3) Ослабьте резьбу ⑤ и вставьте втулку ③ в блок ④ . (4) Переместите втулку ③ в направлении длины и отрегулируйте прямоугольное положение режущего инструмента ①. (5) После регулировки затяните резьбу ⑤ и зафиксируйте втулку ③. Мой вопрос: как можно назвать этот блок и что это за "втулка"?  Прикрепляю ссылку, на ней скриншоты из инструкции с общим видом инструментальной системы, 5-шпиндельного блока и соответствующих инструментов для сверления. https://imgur.com/a/fpBgmLA
×
×
  • Создать...