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

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


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

Т.к. у Diimon возникли проблемы с установкой программки, котороя писалась для M.A.N.T.A

то прицепил по новой полный *.msi файл.

P.S. Просьба отписаться как прошла установка, а то непонятки какие-то. У меня с ней, с установкой то, проблем нет, хотя и не работаю с этой програмкой.

Установка прошла успешно, осталось протестировать... :clap_1:

post-18860-1231586062.jpg

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


API и координатий

С какие координатий надо работать в API ? "Sketch' или 'Model' коорд..? Нужно ли работат с 'transform'.. функции?

Заранее спасибо об информации

Изменено пользователем MiRu
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Столкнулся с проблемой адаптации старых макросов (типа НШ.swp и Osn_nadp) к 2009 Солиду...

При запуске НШ.swp получаю

А при запуске Osn_nadp

Чего можно подправить что бы новый API начал понимать старые макросы????

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

Чего можно подправить что бы новый API начал понимать старые макросы????

К сожалению, у меня нет этих макросов, но на вскидку...

В первом случае:

Source = swApp.GetCurrentMacroPathName ' получает путь исполняемого в данный момент времени макроса

Source = Left& (Source, Len(Source)-3) + "exe" ' заменяет расширение на exe

MyAppID = Shell(Source, 1) 'запускает исполняемую программу по пути прописанному в Source
Т.е. если в указанной строке происходит ошибка, то невозможно запустить указанный файл. Возможно, что путь неправильный...Посмотри полученный результат во второй строке...

Во втором случае, по всей видимости, надо переписать кусочек кода и ввести функцию ISketchManager::InsertSketchBlockInstance

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

Shvg спасибо за ответ - к сожалению в этом API почти полный веник (хотя давно был знаком с Basic'ом)...

Но пробовал рассматривать эти макросы в редакторе:

в первом случае - при наведении курсора на Source показывается путь к файлу (правильный), но попробую ещё покопаться...

во втором случае - пробовал заменять кусочек кода на функцию ISketchManager::InsertSketchBlockInstance , но так как делал это методом научного тыка (т.к. не знаю что это за функция и куда, а главное как её прописать), то и получил ещё больше ошибок....

Что ж, придётся наверное браться за описание API - может и освою его (для прикладных задач)...

А макросы старые, но удобные (в 2008 работали без вопросов - брал вроде с pogruzka.com или где-то на форуме)...

Спасибо...

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

При запуске НШ.swp получаю

В вашем случае вероятно нет рядом с макросом (в той же папке) файла с именем НШ.exe. Возможно файл имеет имя отличное от макроса, дайте файлам SWP и EXE одинаковые имена и положите их в одну папку. Или например задайте имя для запуска в ручную вместо Source, например, "C:\НШ.exe" (соответсвенно ваш путь к файлу)

Я проверил: лежат рядышком в одном каталоге.

А названия у файлов должны быть одинаковые?

У меня: НШ.swp и НШ-SW.exe. Может дело в этом...

Поменял у EXE-шника имя на "НШ" и всё заработало smile.gif .

(Сейчас в одной папке лежат: НШ.swp и НШ.exe.)

Источник: http://fsapr2000.ru/index.php?s=&show...ost&p=97642

А при запуске Osn_nadp

Кажется как-то так:

Dim swApp As SldWorks 'Уже есть у вас в коде возможно swApp имеет другое имя

Dim ModelDoc2 As SldWorks.ModelDoc2 'Уже есть у вас в коде



Dim swSketchMgr As SldWorks.SketchManager

Dim swSketchBlockDef  As SldWorks.SketchBlockDefinition

Dim swMathPoint As SldWorks.MathPoint

Dim swMathUtil As SldWorks.MathUtility

Dim nPt(2) As Double

Dim vPt As Variant



swSketchMgr = ModelDoc2.SketchManager;

Set swMathUtil = swApp.GetMathUtility



' Define an insertion point

	nPt(0) = 60# / 1000#

	nPt(1) = -60# / 1000#

	nPt(2) = 0#

	vPt = nPt

	Set swMathPoint = swMathUtil.CreatePoint(vPt)



'Create block definition from block file

'Use the path and name of your drawing

Set swSketchBlockDef = swSketchMgr.MakeSketchBlockFromFile(swMathPoint, "C:\\Samples\\TestBlock.SLDBLK", false, 1, 0)

А макросы старые, но удобные (в 2008 работали без вопросов - брал вроде с pogruzka.com или где-то на форуме)...

Второй не должен был работать под SW2008, т.к. эти изменения в API-интерфейс внесены ещё с SW2007, возможно у вас где-то есть уже исправленная версия макроса.
Ссылка на сообщение
Поделиться на других сайтах

Kelny

Вы правы файла ЕХЕ не было (переставлял всю систему полностью и куда-то он подевался)...

Закинул файлик ЕХЕ в папку НШ (правда не помню делал что в макросе или нет) - вообщем всё теперь работает...

Osn_nadp дествительно тяну с 2007, в 2008 всё работает без проблем - только при запуске выдаёт сообщение что "макрос не смог определить тип док-та" и 2 кнопки - чертёж или текстовый...

После этого всё работает....

Кстати в 2009 почему-то всё заработало как в 2008 (без исправлений) - ну и ладушки...

Спасибо...

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

Что случилось с <noindex>http://www.pogruzka.com/julio/</noindex> ?

"Бурнаши мост подожгли.. :smile: "...

Давно не работает :wallbash:

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

Новый вопрос.

Знает ли кто ни будь способ гасить или высвечивать элементы дерева проекта посредством представленной на картинке логической операции в уравнениях SolidWorks?

Может конфигурации детали переключить, как вариант, или ещё что ни будь?

P.S. Если ни кто не знает, то это тоже результат.

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

В свойствах конфигурации делаете свойство"Состояние отображения"(путём клика на элементе, который требуется погасить)

задаёте параметр"погашен" или "не погашен" соответственно.

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

В свойствах конфигурации делаете свойство"Состояние отображения"(путём клика на элементе, который требуется погасить)

задаёте параметр"погашен" или "не погашен" соответственно.

Наверно я очень сильно сдал за последние 2 года, ибо ничего у меня не получилось. :dry:

Однако этот вопрос по сути своей именно то, на чём SolidWorks очень крепко обходят ProE, NX и CATIA. Посему, не сочтите за труд - подвесьте сюда более подробное описание, как для школьника или генерала. Или доработайте под сказанное прикреплённую модель.

А нужно мне реализовать посредством (IIf("D1@Эскиз1">100, (...,....)

буквально следующее: если размер меньше 100 то центрального утолщения нету, если больше - то есть.

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

А нужно мне реализовать посредством (IIf("D1@Эскиз1">100, (...,....)

буквально следующее: если размер меньше 100 то центрального утолщения нету, если больше - то есть.

Может так? SW2008....

P.S. Почему то не люблю в таких случаях Revolve, предпочитаю Extrude... Хотя, конечно, дело вкуса...

Proba_1.rar

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

Может так? SW2008....

P.S. Почему то не люблю в таких случаях Revolve, предпочитаю Extrude... Хотя, конечно, дело вкуса...

Так не пойдёт, ибо далеко не всегда возможно опустить какой либо элемент заподлицо с другими.

Вся соль в том, что бы именно погасить.

Таким путём можно по идее обойти схождение в 0, моделировать упругие элементы и ещё много чего.

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

Сожалею. Хотя условия

А нужно мне реализовать посредством (IIf("D1@Эскиз1">100, (...,....)

буквально следующее: если размер меньше 100 то центрального утолщения нету, если больше - то есть.

соблюдены. В уравнениях, насколько мне известно, нельзя управлять состоянием отдельных элементов, только состоянием самого уравнения. Можно попробовать через Design Table задать условие, правда там таблица и соответственно, деталь обновляются только при сохранении файла или после захода в режим редактирования этой таблицы, что не совсем удобно. Ни светофор, ни Ctrl+Q не помогают.

P.S. C Design Table мало работаю....

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

В уравнениях, насколько мне известно, нельзя управлять состоянием отдельных элементов, только состоянием самого уравнения. Можно попробовать через Design Table задать условие, правда там таблица и соответственно, деталь обновляются только при сохранении файла или после захода в режим редактирования этой таблицы, что не совсем удобно. Ни светофор, ни Ctrl+Q не помогают.

P.S. C Design Table мало работаю....

Действительно очень жаль.

Может макрос какой кто ни будь может предложить?

В прочем, для моделирующего, тем более проектирующего народа это конечно не очень сподручный вариант.

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

Действительно очень жаль.

Может макрос какой кто ни будь может предложить?

В прочем, для моделирующего, тем более проектирующего народа это конечно не очень сподручный вариант.

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

Так не пойдёт, ибо далеко не всегда возможно опустить какой либо элемент заподлицо с другими.

Вся соль в том, что бы именно погасить.

Таким путём можно по идее обойти схождение в 0, моделировать упругие элементы и ещё много чего.

И не только таким ...

post-7290-1234556301_thumb.jpg

... если конечно не ставить ццель обязательного наличия "погасить"

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

Рискну предположить, что подобное можно попробовать реализовать в таблице параметров средствами Excel.

И предполагать тут нечего!

Я такое делал:

- в ячейке состояния элемента ввел формулу: " Если(С5>100;"Пог";"Непог") "

- в ячейке С5 находится "контрольный" размер. (может, конечно и в другой ячейке, значит, надо формулу подкорректировать).

Только все это работает "коряво" : надо заходить в редактирование таблицы, чтобы изменения вступили в силу, про это писал выше Shvg

Мне легче макрос написать...

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

И предполагать тут нечего!

Я такое делал:

- в ячейке состояния элемента ввел формулу: " Если(С5>100;"Пог";"Непог") "

- в ячейке С5 находится "контрольный" размер. (может, конечно и в другой ячейке, значит, надо формулу подкорректировать).

Только все это работает "коряво" : надо заходить в редактирование таблицы, чтобы изменения вступили в силу, про это писал выше Shvg

Мне легче макрос написать...

Сколько уже про надёжную и быстродействующую связь с Excel было говорено.. :wallbash:

Наверняка макрос такого рода совершенно не пригоден в качестве прототипа для универсального плагинчика? :g:

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

Сколько уже про надёжную и быстродействующую связь с Excel было говорено.. :wallbash:

Наверняка макрос такого рода совершенно не пригоден в качестве прототипа для универсального плагинчика? :g:

Что-то не уловил смысла данного высказывания.

И почему "макрос такого рода" не пригоден, да еще и "совершенно"?

Откуда такая категоричность?

И какой-такой "универсальный плагинчик" Вы хотите иметь ?

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...