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

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



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

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

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

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

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

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

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

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




  • Сообщения

    • Koels
      А ой извиняюсь, в состоянии покоя "0" Там в стоке два вентилятора стоит, меняли на оригинал. Они крутятся, переставляли на другие привода с такими же вентеляторами, по ним ошибки не выскакивали. Моё изначальное предложение что перегревается сам сервопривод перегревается, но ошибки на индикации нету, и доп охлаждение уже поставили. Странная ситуация в общем.
    • gudstartup
      так у вас есть индикация F. на индикаторе привода или нет я так и не прочитал ответа? Если есть то почему не устраняете?
    • Rinum
      Здравствуйте! Наткнулся на данное оформление размерной цепи от общей базы. Однако, не нашел, как в компасе сделать также. Подскажите пожалуйста, в программе предусмотрено аналогичное оформление?
    • Anat2015
      Дискету FC (Final Config) попробуйте загрузить (вставить в дисковод и включить станок). Проверить батарейки сзади в шкафу ЧПУ.
    • wega7777
      Тоже бы не отказался ,если бы кто поделился.
    • ID_Hacker
      Нужно больше информации. Есть ли PCU50 или у вас Integrated HMI. Подключитесь компьютером к NCU в X127 разъём Ethernet и попробуйте VNC клиентом подключиться на эти адреса 192.168.215.1:5900, 192.168.214.1:5900, 192.168.214.241:5900. Возможно вы изменили настройки станочной сети, и теперь у вас TCU не соединяется либо с PCU50 либо с NCU
    • Koels
      8901 перевёл в 1, ошибка вентелятора все равно вылазит. Попробую 1807 отключить 
    • Deunet
      Добрый день, помогите пожалуйста, нужен CNC Setting tool и Fanuc Picture, можно в личку. Спасибо!
    • Модернизация станков
      А) 047018 - 104401  // Силовые транзисторы 047018 - 101303 Б) 038028 - 401401  // Силовые транзисторы В) 041458 -              // Ось 044640 - 206401 041458 А7 - 958.- 56. - 90. - 014 Г) 044639 - 302401      // Ось 044639 - 206303 X/Y - 044639 А1 / А3 - 958. - 56. - 90. - 015 Д) 041456 - 302401     // Блок питания с +140 В   Платы новые, лежаные. Продажа частная. Гарантию дам. Через бухгалтерию проводить не буду. Цену уточняйте, от 10 000 Р / 1 шт. Силовые по 20 000 Р / 1 шт. Отправлю в регионы по доставке.
    • ДОБРЯК
      Незакрепленный один стержневой КЭ. Задана только площадь. Соответственно две степени свободы.    Матрица жесткости   1.560000E+04 -1.560000E+04 -1.560000E+04  1.560000E+04    Диагональная матрица масс  3.121861E-06 0  0                    3.121861E-06  На этом МКЭ заканчивается. Решайте как хотите. :=) На выходе    Собственные значения (Гц).  1          0.0130  2      15910.7495  Обобщенная матрица масс  строка 1   1.00000E+00  -1.11022E-16  строка 2   1.00000E+00 Обобщенная матрица жесткости  строка 1   0.00000E+00   9.53674E-07  строка 2   9.99404E+09       @Fedor решите эту задачу. Вырождена не матрица масс, а матрица жесткости.  @Orchestra2603 и вы решите эту задачу. 
×
×
  • Создать...