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

Сделай свою работу в Solidworks эффективнее


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

Не пашет: выдаёт Runtime Error 53.

SW2007SP5.0 чертёж октрыт.

Имя макроса и имя исполняемого файла должны быть одинаковы, например:

НШ-SW.exe

НШ-SW.swp

Или же отказаться от использования макроса и добавить ссылку на исполняемый файл, например, в панель быстрого запуска операционной системы Windows или куда-нибудь в Пуск операционной системы Windows.

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


Имя макроса и имя исполняемого файла должны быть одинаковы, например:

НШ-SW.exe

НШ-SW.swp

Или же отказаться от использования макроса и добавить ссылку на исполняемый файл, например, в панель быстрого запуска операционной системы Windows или куда-нибудь в Пуск операционной системы Windows.

Уже лучше - окошко загрузилось, но перед этим ошибка "чертёж не загружен" (хотя мой чертёж открыт), потом Run-Time Error 91: "Object Variable or With block variable not set" - жму ОК - окошко закрывается.
Ссылка на сообщение
Поделиться на других сайтах

Уже лучше - окошко загрузилось, но перед этим ошибка "чертёж не загружен" (хотя мой чертёж открыт), потом Run-Time Error 91: "Object Variable or With block variable not set" - жму ОК - окошко закрывается.

Вероятно загружено несколько сессий программы Solidworks. Откройте Диспетчер задач Windows (комбинация клавиш Ctrl+Shift+Esc или Ctrl+Alt+Del) и завершите процессы SLDWORKS.exe.
Ссылка на сообщение
Поделиться на других сайтах

Вероятно загружено несколько сессий программы Solidworks. Откройте Диспетчер задач Windows (комбинация клавиш Ctrl+Shift+Esc или Ctrl+Alt+Del) и завершите процессы SLDWORKS.exe.

Возможно.

Щас заработало :clap_1:

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

Помогите пожалуйста перевести с VB на Delphi

Debug.Assert Not swDim Is Nothing

из макроса:

Option Explicit

Sub main()

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2

Dim swDim As SldWorks.Dimension

Dim vConfigNames As Variant

Dim vValue As Variant

Set swApp = Application.SldWorks

Set swModel = swApp.ActiveDoc

Set swDim = swModel.Parameter("D1@Extrude1")

Debug.Assert Not swDim Is Nothing

Debug.Print "File = " & swModel.GetPathName

Debug.Print " FullName = " & swDim.FullName

Debug.Print " Name = " & swDim.Name

vConfigNames = swModel.GetConfigurationNames

vValue = swDim.GetSystemValue3(swThisConfiguration, (vConfigNames))

Debug.Print " SystemValue = " & vValue(0) * 1000#; "" & " mm"

End Sub

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

Помогите пожалуйста перевести с VB на Delphi

<noindex>http://www.wmcentre.net/des.php?agent=&id_d=494527</noindex>

<noindex>http://www.delphimaster.ru/cgi-bin/forum.p...3826440&n=8</noindex>

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

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

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

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

Извиняюсь, просто в вопросе слишком много избыточной информации и главное в обзор взгляда не вошло. По второй ссылке, пример, перевода кода из VB в Delphi.

А разве в Delphi это не будет иметь следующую структуру:

procedure Foo(Count: Cardinal);

	begin

		Assert(Count < SizeOf(Word));

	end;
Если выражение окажется ложным, появится сообщение об ошибке
Источник: <noindex>http://www.xserver.ru/computer/sredaprogr/bd/1/25.shtml</noindex>
Ссылка на сообщение
Поделиться на других сайтах

Извиняюсь, просто в вопросе слишком много избыточной информации и главное в обзор взгляда не вошло. По второй ссылке, пример, перевода кода из VB в Delphi.

Информации может и много, но спрашивала я про Debug.Assert Not swDim Is Nothing, потому что не пойму как тип данных object из vb перевести в delphi. Мне нужно сделать проверку, что такой объект(размер) существует. Может можно как то проще...

Источник: <noindex>http://www.xserver.ru/computer/sredaprogr/bd/1/25.shtml</noindex>

Спасибо за ссылочку, пригодится :)

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

Помогите кто нибудь. Как все таки правильно перевести строчку Debug.Assert Not swDim Is Nothing.

Вероятно так:

Assert(TVarData(swDim).VDispatch <> nil);
Источник: <noindex>http://forum.sources.ru/index.php?showtopic=101213</noindex>

или <noindex>http://www.relib.com/forums/Topic873629-8-1.aspx#bm873724</noindex>

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

Помогите кто нибудь. Как все таки правильно перевести строчку Debug.Assert Not swDim Is Nothing.

А зачем ее переводить? Это функции отладки. В рабочем коде просто введите проверку на существование объекта типа Dimension.

Мне нужно сделать проверку, что такой объект(размер) существует. Может можно как то проще...

Ну например VB

If swDim Is Nothing Then

   Exit Sub

End If

C++

if(swDim == NULL)

  retutn;
P.S. С Delphi не знаком...
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Уважаемый Leon. В Вашем макросе RecordDimM на мой взгляд не хватает записи "N углов" (3 угла). Я буду благодарен, если Вы внесёте это дополнение в макрос.

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

Superbizon_1980

Может быть достаточно написать 3 места? Очень не хочется ничего там доделывать. Надо все вспоминать, у меня таких случаев с углами не встречается. Кроме того там есть ручной режим (простой размер).

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

Кто нибудь может подсказать как с помощью api по координатам точки получить ее имя?

Что Вы понимаете под словом "точка"? Они разные бывают: точка в эскизе, точка в сплайне...

Для начала посмотрите это (справке SW API):

ModelDocExtension::SelectByID2

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

Может быть достаточно написать 3 места?

Обычно так и делается ... "места" - термин покрывающий множество частных случаев
Ссылка на сообщение
Поделиться на других сайтах

Что Вы понимаете под словом "точка"? Они разные бывают: точка в эскизе, точка в сплайне...

Для начала посмотрите это (справке SW API):

ModelDocExtension::SelectByID2

Точка в эскизе. А функцией что вы написали можно выбрать точку, но не получить ее имя.

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

А можно ли сделать макрос, в котором бы конфигурации деталей назывались бы по габаритным размерам, скажем Деталь_2000х1200х400, где 2000, 1200, и 400 соответственно длина ширина и высота детали. Ну как вариант что бы макрос выводил в таблицу габариты всех деталей. Спасибо.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...