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

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



8 часов назад, IgorT сказал:

" WeldSimbol"? VBA ругается на него, и в хелпе о нем не знают :g:

Возможно  должно быть WeldSymbol?

Должно. Повезло вам, вон справку нашли.

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

... Повезло вам, вон справку нашли.

что тут смешного?

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

что тут смешного?

Смешно, что многие не находят.

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

Доброго дня. Хочу в чертеж вставить таблицу с отверстиями. Нашел пример.

'Insert Hole Table Example (VBA)
 boolstatus = Part.ActivateView("Drawing View1")    
    'Select a vertex in the drawing view to be the origin of all datums in the table
    'All XLOC and YLOC table column values will be relative to this datum origin
    boolstatus = Part.Extension.SelectByID2("", "VERTEX", 0.117324728174898, 0.108554228680764, -500.0075, True, 1, Nothing, 0)
    'Select a face that contains the holes that will be annotated in the table
    boolstatus = Part.Extension.SelectByID2("", "FACE", 0.090728339186173, 0.119052803281577, -500.0075, True, 2, Nothing, 0)    
    Dim myView As Object
    Set myView = Part.SelectionManager.GetSelectedObjectsDrawingView2(1, -1)
    Dim myHoleTable As Object
    'Insert a hole table
    'anchored with its top left corner at x-coordinate = 0.07m and y-coordinate = 0.175m,
    'with starting datum tag "A",
    'using hole table template: standard hole table--letters.sldholtbt
    Set myHoleTable = myView.InsertHoleTable2(False, 0.153019881817662, -3.77259107537343E-02, 1, "A", "C:\Program Files\SolidWorks Corp\SOLIDWORKS\lang\english\standard hole table--letters.sldholtbt")    
    Part.ClearSelection2 True 

Я не понимаю, как в чертежном виде выделить  VERTEX. Более того не совсем понятно что означают координаты для указания вершины . Они должны быть в абсолютном выражении или масштабе?

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

Я не понимаю, как в чертежном виде выделить  VERTEX

Это самое интересное))) это направление X и Y. Как их найти...есть догадки, но это будет полная хрень. Я как-то бился над темой определения нижней и верхней видимых кромок модели на виде.

 

Может гуру помогут ? :smile: я б тоже не отказался от решения.

Собсна, супервыход - это обозвать кромки в модели. А потом искать её на виде.

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

Собсна, супервыход - это обозвать кромки в модели. А потом искать её на виде.

Dim swedge As SldWorks.edge вродебы нет такого параметра как "name" . Может вы имели ввиду сохранить в массив объекты swedge или vertex , а потом  вызвать их в чертеже?

Ссылка на сообщение
Поделиться на других сайтах
В 12.12.2017 в 23:56, streamdown сказал:

FlatView = swTempDraw.DropDrawingViewFromPalette2("A", 0.0, 0.0, 0.0);

Добрый вечер. Решил отписать свои некоторые наблюдения. У меня "палитра видов" вызывет переодически ошибку "отвала объекта  от клиента". Я думаю это происходит в тот момент когда макрос тарабанит в автоматическом режиме. Решил проверить пошагово . Вроде бы ошибки нет. Может нужно вставить задержку в секунду?. Не могу подобрать код, appliction.wait не работает .

automation error.jpg

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

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

А вообще, вы где-то может переиспользуете реально не открытый или невидимый документ (типа ActiveDoc = ModelDoc2 от детали или сборки, при открытом чертеже). Задержки ставить не надо, надо попробовать дождаться OnDocumentLoad или что-то в этом роде. На крайняк загружать сокращённо, чтоб по-быстрому.

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

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

А вообще, вы где-то может переиспользуете реально не открытый или невидимый документ (типа ActiveDoc = ModelDoc2 от детали или сборки, при открытом чертеже). Задержки ставить не надо, надо попробовать дождаться OnDocumentLoad или что-то в этом роде. На крайняк загружать сокращённо, чтоб по-быстрому.

Вообщем нашел выход из положения. У меня 98 % деталей как правило смотрят то вниз, вверх, влево, вправо,сперели, сзади. Плоскость A я назначаю как плоскость с максимально

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

Интернет отрубило и фразу не закончил. Вообщем те детали которые находятся в правильных плоскостях заношу в строковый массив. А затем вставляю без палитры. А те что "не рыба не мясо" идут с пометкой "A" в чертежах. Таким образом и скорость выше и баг отсутствует. Баг вознкал когда детали все дружно перемалывались циклом,  который добавлял новую страницу, а затем вставлял вид из палитры. Затем вставлялась табличка BOM. И так порядка 30 деталей. Причем отвал от клиента мог возникнуть на любом шаге цикла кроме первого.

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

Баг вознкал когда детали все дружно перемалывались циклом

Есть 3 вещи, когда такое происходит с SW.

1) Это ModelDoc2 вне контекста. Когда активный документ деталь - с него создали чертёж, пытаемся работать с ModelDoc2 детали.

2) Это потеря контекста из-за типа скорости работы с объектами. Как раз случай в цикле. Когда сторона COM сервера - SW - не успевает отработать, а код уже идёт дальше. Типичная ситуация - сохранение документа или получение какого-то объекта от документа, тот же BOM. Тут надо грамотно играться с событиями и подписками на них.

3) Это витиеватая хрень, когда вообще не понимаешь что происходит - код валится на потере контекста))) но работает дальше. Это уже высшие материи SW и Microsoft. В случае работы в Visual Studio тупо отключаем останов на такие ошибки.

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

Это уже высшие материи SW и Microsoft

Это точно!

Олег. Подскажите пожалуста. Как можно вначале узнать масштаб чертежного вида . Я нашел пример по изменению знаменателя (swView.ScaleDecimal = swView.ScaleDecimal * n ). Но ведь прежде чем подобрать удобный масштаб надо знать его на момент вставки. Я пример в упор не нахожу в хелпе.

 

Взгляд замылился ... vScaleRatio = swView.ScaleRatio вот оно

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

Но ведь прежде чем подобрать удобный масштаб надо знать его на момент вставки

Дык масштаб листа и будет изначальный для новых видов.

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

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

 

В 16.12.2017 в 23:49, streamdown сказал:

В в моделях деталей дал названия нужным вершинам и плоскостям вставки для методы InsertHoleTable2. В этом плане все зер гут.

 

Теперь сложность возникла при подборе метода перебора плоскостей и вершин в "myView" в чертежах. А точнее я не понимаю как выйти через myView на геометрию элементов модели. Может за это за это в чертежах вообще myView не в ответе?

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

как выйти через myView на геометрию элементов модели

госспади))) ну ведь только подумаешь - "о, чувак скоро меня обойдёт по знаниям" ))) и тут на тебе. (шутка)

http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IView~GetVisibleEntities2.html

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

госспади))) ну ведь только подумаешь - "о, чувак скоро меня обойдёт по знаниям" ))) и тут на тебе. (шутка)

http://help.solidworks.com/2015/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IView~GetVisibleEntities2.html

Я снимаю шляпу перед вашими знаниями. Как говорят на ютубе "...Я человек простой,  вижу ваше новое сообщение на форуме, ставлю лайк." Еще пару месяцев назад я даже близко не понимал как выделить поверхность или кромку объекта. Теперь эти макросы , которые я пишу для улучшения показателей своей собственной работы становятся серьезным подспорьем в моей проектной практике. Есть куча программ которые я использую как рабочие лошадки, но моими основными любовницами по прежнему остаются SolidWorks и Excel. Все что, я делаю макросами , уже давно присутствует в специализированных софтах. Но это программы , которые меня сильно ограничивают и ставят в один ранг с конкурентами в среде их обитания. SW дает ощущение безграничной свободы, которую я исповедую для собственной жизни. Макросы шикарно вписываются в концепцию полнейшей автоматизации. Как бы трудно мне не было, я обязан учится всю свою жизнь, иначе пропаду. До кризиса 13 года работал в бизнесе. Потом все рухнуло. Я остался с кучей долгов и понял главное, в этой стране можно все потерять одним махом:деньги, имущество, здоровье.. Я задал вопрос сам себе, а куда и во что вкладывать ? и понял что бесценны только знания , опыт и навыки. Остальное - это ложные или сомнительные ценности. Поэтому я искренне восхищаюсь людьми которые знают и умеют.

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

На этом форуме есть 1 никнейм, который тоже по-началу возился с ответами на мои "глупые" вопросы. Есть ещё маленькая кучка, которые молодцы в макросах. Есть кучка которых я научил. И каждые пол-года появляется новичок, который потом бросает это дело.

Так вот, пока я с SW и пока я задействован в создании чего либо в этом SW - я буду подсказывать новичкам по API. Как меня когда-то не проигнорили, тем и я отвечу. За исключением ленивых ("сделай мне это") и необучаемых (в плане логического мышления => программирования).

Опять же: если есть годные предложения, то могу и под ключ написать что-то. Было и так: "а сделай как мне макрос, который выдёргивает значения списка вырезов, обсчитывает кромки модели, создаёт таблицу с вычислениями на чертеже, экспортирует в эксельку...предлагаю 100 рублей, ибо работы там не больше" :biggrin: Говорил мне человек, который про программирование знал только то, что там "книжки толстые".

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

На этом форуме есть 1 никнейм, который тоже по-началу возился с ответами на мои "глупые" вопросы. Есть ещё маленькая кучка, которые молодцы в макросах. Есть кучка которых я научил. И каждые пол-года появляется новичок, который потом бросает это дело.

Не берусь гарантировать что и я не брошу, но пару лет назад как я занялся автоматизацией в эксель я до сих пор пишу небольшие программы и  функции для внутреннего потребления. И мне все это чертовски нравится. Да , я делаю большие перерывы, если затягивает какая либо другая работа. Ведь она кормит и поит. А программы это лишь хобби и вспомогательное оружие. Может поэтому люди и отваливаются потому что не связывают свою жизнь с долгосрочными узами в программировании. Это их личная половая драма. Не нам с вами их судить. Сами подумайте что продавцы в каком либо Эльдорадо больше зарабатывают чем простые учителя, врачи, инженеры. Я считаю большой трагедией для будущего этой страны , столь малый интерес  к "умным" делам. Эта ветка форума тому подтверждение.

17 минут назад, streamdown сказал:

Так вот, пока я с SW и пока я задействован в создании чего либо в этом SW - я буду подсказывать новичкам по API. Как меня когда-то не проигнорили, тем и я отвечу. За исключением ленивых ("сделай мне это") и необучаемых (в плане логического мышления => программирования).

Опять же: если есть годные предложения, то могу и под ключ написать что-то. Было и так: "а сделай как мне макрос, который выдёргивает значения списка вырезов, обсчитывает кромки модели, создаёт таблицу с вычислениями на чертеже, экспортирует в эксельку...предлагаю 100 рублей, ибо работы там не больше" :biggrin: Говорил мне человек, который про программирование знал только то, что там "книжки толстые".

Потому что это был барыга, а не инженер. Ему ли пользоваться макросом? Вопрос. А знаете почему так? У нас вся страна работает от %. Те любой малый бизнес платит спецу % от суммы общей сделки. Поэтому пофигу сколько там ночей будет сидеть инже-негр и потеть над работой. Я мало встречал мелких организаций которые работали бы по принципу оплаты человеко-часа. К чему это безобразие приводит? Это стимулирует сотрудника сделать работу как можно быстрее, но не факт что качественно.Да и кому нужно сейчас качество?

 

Я сейчас изучаю основы API только для того чтобы понимать как в дальнейшем правильно формулировать задачи. Ну и естественно понимаю ценность потраченного мною времени. Сейчас оно у меня есть, а завтра его может и не быть. Поэтому я вынужден буду обратиться к вам. И я готов платить столько сколько вы скажите. А вы не скажите слишком много или слишком мало, поскольку знаете что человек в теме. И это будет справедливо. И еще просьба , сделать кнопочки поддержки ресурса с разными суммами. Уж больно как то совсем несерьезно в наше время 100 руб выглядят.

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

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

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

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

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

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

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

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

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

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

    • Sla_68


  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...