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

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

 API - это то, что открыли для использования разработчики. Если у вас есть метод SaveAs, то он сработает на всех версиях SW начиная с той с которой его ввели. Если у вас есть метод SaveAs3, то даже применив рефлексию с dynamic, вы его не запустите на SW 2003, так как его физически нет в библиотеках SW. Так же, даже если этот метод где-то у разработчиков и зарыт внутри их библиотек, вы тоже не сможете его запустить пока они не "откроют" вам его через API, так работает программирование и так работают экспортируемые функции.

Если же вы попробуете подключить к проекту библиотеки от SW 2022, а SaveAs3 выполнить под запущенным SW2009, то код просто свалится в этом месте, так как он не найдёт этого метода в библиотеках разработчика. Будет что-то вроде NO_INTERFACE

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


Какое-то странное обсуждение, все говорят об одном и том же: приладить новое в старому можно, но нет гарантии, что все будет работать. Как можно утверждать утверждать обратное, если даже на уровне microsoft вносятся глобальные изменения в основные понятия? Вот, например, зачем потребовалось менять имя окна процесса "Microsoft Excel" на просто "Excel"? О какой преемственности "библиотек" может идти речь в данном случае? 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, v-david сказал:

Вот, например, зачем потребовалось менять имя окна процесса "Microsoft Excel" на просто "Excel"?

Некоторые окна и этого имени не имеют, но если есть АПИ имя окна процесса вобщем-то ни к чему, т.к. есть вход с парадного входа.

 

1 час назад, v-david сказал:

О какой преемственности "библиотек" может идти речь в данном случае? 

О приемственности может идит речь, когда программа понимает старый код без изменнений на новой версии.

А вот жизнь меняется постоянно, поэтому постоянно требует движения и изменений, что бы не отставать от настоящего, так что всегда надо что-то подправлять, настраивать, ведь всего каких-то несколько лет наза требовалось оптимизировать программу в память размером в 1-2Мбайта, скоростью процессора в несколько тиков в секунду и хранить всё это на жёстком диске в десятки Мегабайт, а сейчас практически неограниченные ресурсы позволяющие програмистам филонить и создавать огромных монстров не заботясь о сохранении ресурсов. Что уж говорить о 8, 16, 32 бытных системых, которые уже по большому счёту для ПК ушли в прошлое и глядишь не загорами системы X128 или вовсе X1024...

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

ну закройте с "парадного входа" все висящие процессы Excel и заодно свое эксельку, не зацепив другие открытые в этом же окне

Ссылка на сообщение
Поделиться на других сайтах
30.05.2022 в 08:09, v-david сказал:

Какое-то странное обсуждение, все говорят об одном и том же: приладить новое в старому можно, но нет гарантии, что все будет работать.

 

Инженера устраивает любое решение, приводящее к положительному результату. )

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, v-david сказал:

ну закройте с "парадного входа" все висящие процессы Excel и заодно свое эксельку, не зацепив другие открытые в этом же окне

Это вопрос или предложение?

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

Не вопрос и не предложение. Столкнулся с этим, когда надо было поработать с окнами процессов в Windows, поднимать, скрывать, перемещать по экранам причем не только "свое" окно, но и ранее открытые. Не скажу, что это очень сложно, но и не пара строк. Не знаю, что вы имеете ввиду под "парадным входом", но что-то этот процесс мало напоминает его, скорее это backdoor в прямом и переносном смысле..

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, v-david сказал:

поднимать, скрывать, перемещать

Всё это WinAPI + всякие running object table. 

Это никак не соотносится с тем, о чём я писал про SW API.

В SW API помеченные obsolete всё равно работают на последних версиях.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, v-david сказал:

Не знаю, что вы имеете ввиду под "парадным входом", но что-то этот процесс мало напоминает его, скорее это backdoor в прямом и переносном смысле..

Попробуйте пробиться до функционала программы без API и сравните с тем что предоставляет API.

Аналогично без WinAPI потребовалось бы на много больше строк, что бы сделать хоть что-нибудь.

 

3 часа назад, v-david сказал:

Столкнулся с этим, когда надо было поработать с окнами процессов в Windows, поднимать, скрывать, перемещать по экранам причем не только "свое" окно, но и ранее открытые.

Говоирить о некой абстрактной задаче как минимум не конструктивно.

Ведь возможно надо было просто выбрать иной подход для решения задачи, а из-за неоптимального решения, как раз и пришлось использовать WinAPI, а не встроенный API приложения. Так же возможно стоило сообщить разработчикам софта о недостающих функциях и тогда возможно в будущем не пришлось идит в обход и можно было бы всё седать через API программы.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...
12.07.2022 в 14:31, Vladimiir сказал:

Добрый день, может кто-нибудь подсказать как изменить размер в эскизе в макросе, на C#.

 

В макросе VBA? Наверное, никак.

 

А для C# есть хелп.

 

 

api_help.JPG

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
14.07.2022 в 18:44, brigval сказал:

 

В макросе VBA? Наверное, никак.

 

А для C# есть хелп.

 

 

api_help.JPG

Про справку знаю, но не могу в ней ничего найти, как только не искал.

Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Vladimiir сказал:

Про справку знаю, но не могу в ней ничего найти, как только не искал.

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

А искать надо по английски:

https://help.solidworks.com/2010/english/api/sldworksapi/change_dimension_example_vb.htm

 

Ссылка на сообщение
Поделиться на других сайтах
26.07.2022 в 23:57, Kelny сказал:

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

А искать надо по английски:

https://help.solidworks.com/2010/english/api/sldworksapi/change_dimension_example_vb.htm

 

для C# во встроенном хелпе тоже есть

 

Скрытый текст

dim.JPG

 

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

День добрый.

Подскажите, есть ли возможность  средствами SW API в WeldSymbol добраться,  (т.е. задать новые значения) до текстовых полей, извлекаемых по методам WeldSymbol.GetTextAtIndex( int index )  (поля из обозначения сварки при установленном стандарте ГОСТ)?

Ну и до кучи, как в WeldSymbol задать другой стиль стрелки выноски ?

Ссылка на сообщение
Поделиться на других сайтах
57 минут назад, nicomed сказал:

День добрый.

Подскажите, есть ли возможность  средствами SW API в WeldSymbol добраться,  (т.е. задать новые значения) до текстовых полей, извлекаемых по методам WeldSymbol.GetTextAtIndex( int index )  (поля из обозначения сварки при установленном стандарте ГОСТ)?

Ну и до кучи, как в WeldSymbol задать другой стиль стрелки выноски ?

У меня не получилось.

Использую символ сварки для склейки и пайки.

Группирую символ сварки с заметкой, что было красиво, и программно текст (номер пункта ТТ) правлю в заметке.

 

Скрытый текст

ппп.JPG

 

Ссылка на сообщение
Поделиться на других сайтах
12.07.2022 в 14:31, Vladimiir сказал:

как изменить размер

Первое, чему стоит научиться, это записывать макросы. Это, конечно, местами бредовая простая штука делает и показывает очевидные вещи. И не надо даже в справке долго искать.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
04.08.2022 в 16:27, nicomed сказал:

Подскажите, есть ли возможность  средствами SW API в WeldSymbol добраться,  (т.е. задать новые значения) до текстовых полей, извлекаемых по методам WeldSymbol.GetTextAtIndex( int index )  (поля из обозначения сварки при установленном стандарте ГОСТ)?

Для символа по ГОСТ доступ к полям не доступен через API. Можно попробовать поковырять через WinAPI.

 

04.08.2022 в 17:40, brigval сказал:

Использую символ сварки для склейки и пайки.

Группирую символ сварки с заметкой, что было красиво, и программно текст (номер пункта ТТ) правлю в заметке.

Если речь об установках электронных компонентов, то там возможно проще блоки использовать, а в блоках на ставится элемент сварка/пайка/наклеивание и соответственно приходится использовать заметку и простой эскиз для значков.

 

Как вариант к заметке дорисовывать эскизы (как бы внутри элемента заметки - API это позволяет), пример:

https://help.solidworks.com/2010/english/api/sldworksapi/create_compound_note_example_vb.htm

но не уверен что можно будет нарисовать эскиз привязанный к направлению линии выноски. Возможно для контроля выноски и положения значка можно втиснуть в файл встроенный макрос, который будет следить за выноской и перерисовывать значок. Из минусов этого метода, что доступ к эскизам заметки только средствами API, но проблем с отображением на других машинах, где нет макроса, вроде быть не должно (ну только что без макроса редактировать/обновлять эскизы в таких заметках не получиться).

 

04.08.2022 в 23:07, streamdown сказал:

Первое, чему стоит научиться, это записывать макросы.

В Solidworks часто в записи бывает мало полезного. А вот уже готовые похожие примеры в справке по API попадаются.

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

Добрый день!

Помогите, пожалуйста, с макросом.

 

Я написала макрос, который экспортирует деталь в dxf с именем файла, формирующимся из исходного имени файла детали и глобальных переменных. И все отлично.

 

Но потом я запустила макрос для детали, у которой нет глобальных переменных и получила имя dxf с глобальными переменными с прошлого запуска!

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

 

Наверное, можно что-то дописать, чтобы reset автоматически происходил? Я пробовала по-разному, закрывать файлы, открывать заново, не влияет на макрос. 

Даже не понимаю, какой вопрос задать товарищу Гуглу?:worthy:

Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, OlgaKubrik сказал:

Наверное, можно что-то дописать, чтобы reset автоматически происходил?

Присвойте переменной отвечающей за глобальные переменные в начале макроса NullString или "":

ВашаПеременная = NullString

 

Или используйте условие IF, если глобальные переменные есть, то запись файла такой строкой, а если нет, то другой.

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • si-64
      Возможно ли преобразование и внутренних объектов, а не только наружного периметра грани?  
    • Bot
      Форум посвящен новым ключевым направлениям в развитии T-FLEX PLM и новым продуктам в области инженерного ПО и управления полным жизненным циклом продукта Описание мероприятия Главное событие года компании «Топ Системы» — ежегодный Форум T-FLEX PLM — посвящен ключевым направлениям в развитии технологий и решений в области инженерного ПО и управления полным жизненным циклом продукта. Участники мероприятия познакомятся со стратегией развития, новыми разработками и функциональными возможностями отечественного комплекса T FLEX PLM, узнают о реализованных проектах у заказчиков, увидят программные продукты в действии. Если на предприятии стоят задачи: обеспечить бесперебойное производство, наладить выпуск новой продукции, удовлетворить рыночный спрос и обеспечить технологический суверенитет, то российский программный комплекс T FLEX PLM поможет в краткие сроки выполнить инженерные и производственные задачи выпуска изделий На мероприятии вы сможете: Узнать о [...] View the full article
    • gudstartup
      это неправильно разделите м коды на 2 кадра иначе будет вышеописанная ошибка а так программа нормально выполняется
    • malvi.dp
      Допилил. Поддерживает многолистовые чертежи Начинает работу при нажатии на кнопку макроса: -при нахождении измененных (установлена галочка "Измененное значение") размеров окрашивает их в красный цвет; -если с измененного размера снята галочка "Измененное значение", т.е. он стал обычным - цвет становится обычным; -по окончании работы в сообщении выводится статистика найденных измененных размеров, если они есть. Тестировался на sw2016 и sw2020.   ChangeColorForOverridedDimensions.zip   Да, что-то прошло не так... Уже поправил.
    • maxx2000
      Я скорее согласен с Надеждой Януарьевной
    • Koels
      Мотора 54 градуса, что на 6 градусов больше соседнего станка, вентеляторы в норме да. Ещё хочу сравнить нагрузку координаты с соседним станком, но пока не дают. У этих двух станков проблемы с охлаждением, на соседнем стоит автомобильный радиатор для охлаждения масла. xD
    • Bot
      Dassault Systèmes Reports Solid First Quarter Results And Reaffirms Full-Year Objectives Просмотр полной статьи
    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
×
×
  • Создать...