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

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

 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 пользователей

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




  • Сообщения

    • AlexArt
      Ну допустим, ты и на другом ресурсе это опубликовал. А не коммуниздил. Но вот продвигать воровство от государства, ворующее из Вики, это верх мерзости.
    • maxx2000
      Ах, да. Фильтры выбора добавили. Теперь можно выбрать только то что видно на первом плане, а не вместе с тем что с обратной стороны детали. В общем надо обновляться. Как раз работёнка на прессформу нарисовалась 
    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
    • Fedor
      https://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms     :) 
    • Юрий К.Ф.
      Добрый день. Не нашёл тут тему по стойке Китайско Китайской)) Lynuc N3ME. Видать мне так повезло с её наличием)) Приобрели 5-ти осевой Китаец. В б/у состоянии после удара по оси Z. Отремонтировали по механике, заменили батареи на драйверах, выставили лимиты. Всё Ок. Пригласили со стороны людей которые бы разобрались по операторской части. Те два выходных ковырялись, после сказали покажут расскажут, но за огромные деньги. Не сошлись. После месяц станок простоял, когда включили перестал реагировать на регулировку скорости шпинделя. То есть в режиме Jog, включаем обороты, которые стандартно 2140-2149 об/мин. При регулировке процетности не меняются (сама процентность показывает на мониторе). Так же при включении оборотов через команду M03S300 или другое значение, скорость так же показывает 2140-2149 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
    • Fedor
      https://en.wikipedia.org/wiki/Eigenvalue_algorithm   Вот , кстати, важное свойство которое раньше встречал у Стренга. :)    http://elibrary.bsu.edu.az/files/kitablar/1022.pdf   
×
×
  • Создать...