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

Сделай свою работу в 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 пользователей

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




  • Сообщения

    • eljer0n
      Большое спасибо! Посмотрю. Но, судя по всему, даже если удастся заставить его сохранять чертеж с трехзначным исполнением, видимо, в той же спецификации правильного отображения не добиться. У Леона с товарищем был об этом разговор, что солид вроде как не воспринимает исполнения дальше двузначного. Хотя, может и я неправильно понял. Вернусь к этому вопросу чуть позже. Еще раз спасибо за совет.
    • mrVladimir
      @gudstartup @Viktor2004 спасибо Вам за такое участие.  Я вот тоже в maintenance manual заглянул (наконец-то ). А вот фраза "при замене FROM/SRAM необходимо ..." (под пунктом 3 во вложении) не подразумевает, что появление ps5523 произойдет только если мы решим на нашей чпу поменять именно FROM/SRAM. А при замене других печатных плат (в том числе и материнской ) необходимо только как написано в пункте 2 восстановить данные памяти SRAM и, при необходимости, файлы пользователя. Нет?
    • maxx2000
      @davidovka это же очевидно. Вдруг нужного размера не окажется  как в анекдоте  
    • davidovka
      А для чего и сотни исполнений в таблице и гибкость одновременно?
    • ak762
      в СВ есть встроенный калькулятор для расчета балок при различных сценариях нагружения если ваш профиль монорельса совпадает с предопределенными профилями то можно прикинуть поведение монорелься без анализа на картинке 2 расчета двутавровой балки в качестве теста    
    • Viktor2004
      @mrVladimir не спешите отчаиваться. Вопрос спорный Я завел новую тему в которой мы это выясним  
    • Viktor2004
      Уважаемые специалисты. У кого был опыт замены фануковских плат? Именно на ЧПУ. Пожалуйста напишите какое ЧПУ и какую плату меняли И результат. Подошла или не подошла  
    • gudstartup
      @mrVladimir к сожалению с вашей платой все не так просто вам придется приобрести ее клон то есть она должна быть подготовлена продавцом и в нее должен быть записан серийный номер вашей старой платы он на штрихкоде а так готовить умеют не все или готовьтесь к сертификации опций также есть еще один аппаратный вариант но не каждый будет на новую плату м\сх перепаивать с риском превратить ее в кирпич.   если бы у вас был отдельный модуль процессора то вы бы просто переставили его в новую плату и все а с этой платой из-за ее не модульности намучаешься
    • SAPRonOff
      в окне состава изделия снять замочки у колонки позиция, тогда генератор колонки состава изделия не будет им присваивать свои значения автоматически, а запомнит то - что вы поставили или стояло до изменений проекта: 
    • Kelny
      Смотреть надо процедуру main, почти в самом конце: Слева от этих строк на сером поле ставите красные точки (клик мышкой) и запускаете макрос, когда макрос дойдёт до обозначенных строк можно будет наводить мышку на перменные, например, sPathName и смотреть значения, что бы определить где сбой: Для продолжения выполнения макроса нажимаем зелёный треугольничек (как кнопка Play).      
×
×
  • Создать...