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

Разработка приложений для 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 пользователей

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




  • Сообщения

    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
    • maxx2000
      скажите, Вам уже делали эти детали? Вы себе представляете как и главное  чем, можно обработать внутренние углы без скругления на вашей детали? Разве что проволокой. НО оно же стоить будет как крыло от боинга. 
    • Sivolap36
      Спасибо за информацию. А как определили, что нижний  инкрементный? Спасибо. Как то я пролистал наверное. Благодарю
    • Jesse
      deleted этого я и хотел узнать у товарищей форумчан :-) вот для сферы оценка есть: присоед. масса воды равна половине от объёма сферы может кто в справочнике каком видел сколько для рабочих колёс присоединять надо..) мне тоже кажется там серьёзная отстройка должна получиться..   не спец в насосах и лопаточных машинах..)) у меня вот тяк: да это геморр... ещё и приложить его надо как-то к валу. Кстати, я вообще говоря собирался для модальника взять модель только вала, с колёса учесть в виде сосредоточ. масс с моментами инерции. Законно ли это, не сильно исказит расчёт СЧ? И ещё непонятка: куда присоединять эту массу? Прям в шпоночное отверстие вала?: Или вдоль всей окружности куда садится колесО?   не не , там не биссектриса. \Гляньте мою картинку выше из Вики. И все картинки такие для ДК что в сети нашлись. Там явно BW и  FW явно не зеркальные отражения друг друга относ-но гориз-й прямой, проведённой через ординату СЧ для нулевой частоты вращения ротора...   откуда вы знаете что сбалансировано? идеальной балансировки не существует   вот прям так в отчёте и напишу!:D точка Меня другой вопрос волнует.. Что центробеж. сила и гироскоп. момент пропорц-ны квадрату частоты вращенеия, т.е. на больших частотах может появиться вилка... Мне нужно где-то найти оценку, возможно опять таки относительно СЧ когда нет вращения..
    • Irukanjii
      Уважаемые коллеги, доброго времени суток! Прошу Вас рассмотреть возможность изготовления 5 комплектов изделий из стали 08Х18Н10 (материал предоставим). Всего необходимо изготовить 5 "мам" и 5 "пап". На производстве нам требуется высокая точность шлифовки, т.к. потом будем наносить хромирование.  По ссылке на мэил диск будут доступны чертежи каждой детали и 3d модели в SolidWorks (также прошу отнестись с пониманием, если какие-то детали будут не совсем точные, не долго работаю в SolidWorks, но постарался соблюсти все габариты) https://cloud.mail.ru/public/T72n/CS1Cc8Bnt   Ответ можно присылать на почту ned@bvbmail.ru, либо в этой теме. 
    • Александр1979
      Информация по номерам для заказа есть в руководстве "B-65515", также информация есть в руководствах "B-65302" и "B-65262"      
    • gudstartup
      а чего тут искать то первый это абсолютный на 1000000 имп\об bi типа второй ai инкрементальный xз но нав 4000000 имп\об разъем подключения описан в схеме. инфа передается по цифровому протоколу обмена. кое что есть тут   в старых описаниях таких датчиков у фанука нет  
    • anykeyto
      У нас AC. Так то я понимаю, что G108 это переключить режим шпинделя из оборотов в координату С. Но я почему про нее спросил, потому что в мануале к G07.1, в примере программки указывалось таким образом, что сначала включали G108 (хотя это может для токарки, а для фрезера и не надо совсем), а потом уже остальное.   G07.1 это как раз цилиндрическая интерполяция, то есть преобразование оси С из угла в миллиметры, то есть как бы разворачивает цилиндр в плоскость. Ну как я это понял. Проблема у меня встала в том, как именно программируются такие действия. Пробовал на основе примеров из мануала, стойка выдает ошибки. в чем проблема непонятно из-за китайской стойки и некорректного перевода. Ну и вообще хочется пощупать, как это вообще работает именно на фрезерном ОЦ.   Тут еще засада в том, что на 5-оснике из-за RTCP станок не дает одновременно перемещаться одновременно по осям XY и С например...  Я понимаю, что такое надо в САМ системах делать, но есть потребность в упрощенном варианте и со стойки писать, у нас с технологами проблема... G68.1, 68.2, 68.3  это преобразование характеристической СК, развороты короче координат G53.1, G53.2 - фактически активирование поворота стола с RTCP и без... 
    • ДОБРЯК
      А собственные вектора вы как будете находить для любой размерности? :=)
    • Sivolap36
      Добрый день. Прошу подсказать в каком мануале есть описание энкодеров моторов, где-то видел, сейчас нем могу вспомнить.  Вот например два энкодера по ним ищу инфу  
×
×
  • Создать...