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

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



Добрый день. Еще один вопросик. Можно ли "снять"  параметры вектора плоскости , перпендикулярной к экрану монитора, на момент запуска макроса в текущем документе модели?

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

Как всегда вопрос - зачем? ))) Что с этим потом делать?

----------------------

Как минимум, можно просто сохранить текущий вид в палитре видов.

Если "всё сложно" ,то

http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodelview~geteyepoint.html

http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodelview~orientation3.html

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

Как всегда вопрос - зачем? ))) Что с этим потом делать?

Ок, вектор нужен для  алгоритма определения плоскости детали как например "задней". Т.е. я собираюсь сравнить угол векторов камеры 3 основных плоскостей детали . Выигрывает та плоскость , у которой угол более остальных приближен к нормали экрана. В зависимости от этого я строю рад действий с моделью.  В палитре видов лучше ничего не сохранять, поскольку возможно до бесконечного количества   запусков такого макроса. Я вчера всю голову сломал, как поступить лучше с таким определением как ответ на вопроc: что есть такое левая или правая сторона модели. И на этот вопрос неользя ответить однозначно , если не вводить дополнительные переменные. Поразмыслив, я понял , что ответ кроется в камере наблюдателя.

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

@Sla_68 жуть какая :smile: 

Но всё же дальше: что означает?

7 минут назад, Sla_68 сказал:

я строю рад действий с моделью

------------------------------

7 минут назад, Sla_68 сказал:

В палитре видов лучше ничего не сохранять

Сделать, провести "ряд действий", удалить вид. мм?

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

Мне не жалко рассказать , просто рассказчик из меня никудышный.

Работаю с идеями связанными с нахождением "ниши", и определения ее  параметров размеров и т д. Это нужно для последующего размещения в ней деталей и сборок.  Логику строю на минимизации манипуляций пользователя. Те программа должна предугадывать какая деталь левая, какая правая , какая фронтальная , задняя и т.д.  Но эти параметры носят временный ситуативный характер. Т е в зависимости от угла обзора левая панель может стать правой а передняя задней. Константные определения -всего лишь нижняя панель и верхняя.(Горизонты). Все вертикальные детали могут стоять по разному (те под разными углами). Такие компоновки встречаются в  99, 9 % случаях при работе с корпусной мебелью.

Уже сейчас я легко нахожу все плоскости внутри таких ниш и могу легко определить , какая деталь является верхом  а какая низом. Но что бы определить лево-право , перед-зад  существенно не хватает вводных аргументов. Картина меняется если взять нормаль экрана и сравнить ее с нормалями любой детали.

форум.jpg

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

Понял, что-то вроде интерактивного сборщика для презенташек?

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

Нет, альтернатива такой веселой русской программе как "басис-мебельщик". Просто Басис оскорбляет мои религиозные чувства:biggrin:

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

До авточертежей деталей дошли? Тут могу скооперироваться, ибо тема для меня нужная (именно касаемо вашего профиля)

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

До авточертежей деталей дошли? Тут могу скооперироваться, ибо тема для меня нужная (именно касаемо вашего профиля)

Я готов вам оплатить данную работу ибо слово скооперироваться меня сильно смущает.

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

Вы как раз занимаетесь сейчас с вычислением ориентации деталей и сборок в пространстве модели. Задача с авто-чертежами одновременно проста и сложна.

- вставить вид в чертёж. Легко.

- определить верх и низ для дальнейшей ориентации размеров. Сложно.

- определить какие вообще размеры для данного вида применимы. Что модельные, что справочные. Вытекает из вышестоящего. Тоже не просто.

 

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

16 минут назад, Sla_68 сказал:

Я готов вам оплатить

Я  бы сам оплатил вменяемую логику для такого дела. :smile: Накодить то я смогу всё сам.

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

Сами по себе чертежи вещь годная, но на текущий момент приоритеты сместились в сторону станков с чпу. Поэтому для меня будет немаловажным придумать способ конвертации файлов  панелей в формат для woodwop. Проблема солида в мебели - отсутствие специальных инструментов по работе с кромкой и присадкой. С кромкой я придумал как быть а вот с присадкой проблема. Есть такие отверстия (под крепеж VB-35, они выходят за рамки контура панели) которые sw не видит как отверстия в таблицах чертежей. (с woodwop я не знаком, возможно что он наделен инструментами распознавания отверстий)  Я пока не парюсь поскольку занят инструментами мебельщика в моделировании .

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

то самый лучший вариант - это делать модели тоже кодом

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

 

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

- определить верх и низ для дальнейшей ориентации размеров. Сложно.

Не сложно если вы поймете как заблуждаетесь..Вся проблема в вашем мышлении конструктора. В SW  конструктор избалован правами бога. Поэтому вы "тяните" модель прям с нуля, c тех кромок вершин и граней, которые вам пришлись по вкусу. Потом назначаете ей все необходимые параметры. Потом делаете чертежи. (Это и есть главная ошибка).  Это выражаясь языком предпринимателей "очень круто и очень дорого". Но на практике так не нужно.

Что бы решить эту проблему, нужно поступить ровно так же как поступили "специалисты басиса".  Панель уже создана как шаблон , обладает всеми нужными параметрами и из нее должны прекрасно получаться чертежи. Всю остальную рутину нужно переложить на макросы. (Кромка , габариты, и присадка) И не надо усложнять все параметрическими привязками. Это нужно конечно , но только лишь при создании библиотеки кухонных шкафов. 

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

Панель уже создана как шаблон

Я уже думал в эту сторону. Это просто решение на уровне "делайте так" чтоб было автоматом. И да, вы правы, в этом случае всё будет очень быстро. Детали тоже в принципе шаблонные: панель, отверстия по торцам. Но бывают и вырезы, кои как раз и надо будет распознавать на чертеже.

Я же решил исследовать сложный путь))

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

Детали тоже в принципе шаблонные: панель, отверстия по торцам.

С отверстиями не получится как требуют на производствах( если имеется ввиду что бы они были заранее набиты и погашены на торцах). Пока думаю как лучше это реализовать . Вообщем проблема в том что должна быть соосность по сетке для разных панелей. А сетка она общая для всей сборки.

соостность.jpg

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

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

Set swVectorZ = swVectorZ.Scale(-1)  ' (откуда взята эта переменная?????)
Set swMathTrans = swMathUtil.ComposeTransform(swVectorX, swVectorY, swVectorZ, xyzOrigin.ConvertToVector, 1#)

 

 

 

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

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

Нашел способ выжать кое какие данные . Только понять смысл этих данных мой разум отказывается.

Sub viewvector()
Dim part As SldWorks.ModelDoc2
Dim swModelView As SldWorks.ModelView
Set swApp = Application.SldWorks
Set part = swApp.ActiveDoc
Set swMathUtil = swApp.GetMathUtility
Set swModelView = part.ActiveView
Set Orient = swModelView.Orientation3
arr = Orient.ArrayData 'матрица
For i = 0 To UBound(arr)
If arr(i) > -0.001 And arr(i) < 0.001 Then
    Debug.Print 0
    Else
    Debug.Print arr(i)
End If
Next
End Sub

за нормаль отвечают номера 6,7,8 матрицы

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

Я же решил исследовать сложный путь))

Я вот о чем подумал. Не поможет ли вам вот такой способ. Он уже опробован мной и протестирован на деле. Когда возникают детали например из контекста сборки , да еще и разными способами вытяжки тел. Совершенно невозможно определить где и какая сторона.  Поэтому я вручную (фичерсом, или простым вырезом делаю) вырез на одной из плоскостей. в  виде НЕравностороннего треугольника глубиной 1 -2 миллиметра. По сути -эта насечка служит для определения вектора длины панели. После этого можно запустить макрос автоматического распознавания детали. Те любую фигуру можно рассчитать быстро как панель. в обхвате прямоугольником при заданном направлении вектора.

распозн.jpg

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

@Sla_68 ну, вариант канеш. Я так маркирую, к примеру, лицевую сторону на согнутых листах металла. Но этот фичерс можно забыть добавить. Но идея понятна. Надо тоже попробовать.

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

Из всего что я видел по мебели вот эти ребята самые продвинутые в макросах по мебели.

И в этой связи у меня вопрос, каким образом они реализовали меню с автоприсадкой? Я понимаю что это какой то коммерческий аддон. Можно ли это сделать в вба? Или только через си шарп?

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

каким образом они реализовали меню с автоприсадкой? Я понимаю что это какой то коммерческий аддон. Можно ли это сделать в вба? Или только через си шарп?

Smart components, скорее всего. Примеры добавления и активации смарт компонентов на вба и на си шарпе есть какие-то:

http://help.solidworks.com/2015/english/api/sldworksapi/add_smart_components_example_vb.htm

https://help.solidworks.com/2017/English/api/sldworksapi/Activate_Smart_Features_in_an_Assembly_Example_VB.htm

http://help.solidworks.com/2012/English/api/sldworksapi/Add_Smart_Components_Example_CSharp.htm

 

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • 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
      а ведь все работало...
×
×
  • Создать...