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

Сделай свою работу в Solidworks эффективнее


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

28.04.2024 в 23:16, Solidman сказал:

Shift+TAB

Ctrl + Shift+TAB вроде. Это конечно. Но как то при отпускании некоторые детали или сборки вблизи уходят в скрытость. Нужно поймать момент. Может при отпускании нужно последнюю клавишу отпускать Shift либо Ctrl (еще не определил). То есть фактически срабатывает TAB опять. Может клавиатура плохо срабатывает. Приходится заново включать Ctrl + Shift+TAB

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


Народ, подскажите, вроде бы видел макрос который разблокирует солид, но не могу его найти.

Забодал после разных команд блокируется и ни в какую!!!! Пишет что "текущую операцию невозможно прекратить..."

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

Ctrl + Shift+TAB вроде. Это конечно. Но как то при отпускании некоторые детали или сборки вблизи уходят в скрытость. Нужно поймать момент. Может при отпускании нужно последнюю клавишу отпускать Shift либо Ctrl (еще не определил). То есть фактически срабатывает TAB опять. Может клавиатура плохо срабатывает. Приходится заново включать Ctrl + Shift+TAB

Из справки SolidWorks

Вы можете переключаться между режимами отображения твердых тел и тел поверхности, переместив указатель на тело в графической области и нажав Tab для скрытия или Shift + Tab для отображения. 

Кроме того, можно отобразить одно или несколько скрытых тел. Для этого переместите указатель в графическую область, затем нажмите и удерживайте сочетание клавиш Ctrl + Shift + Tab. Скрытые тела временно отображаются как прозрачные. Чтобы вернуть их в режим отображения, нажмите на них.

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

Народ, подскажите, вроде бы видел макрос который разблокирует солид, но не могу его найти.

https://kelnyproject.ucoz.ru/load/7-1-0-14

не уверен, что будет работать на новых версиях SW

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

https://kelnyproject.ucoz.ru/load/7-1-0-14

не уверен, что будет работать на новых версиях SW

спасибо! буду ждать когда опять заблокируется, тогда и проверю!

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

https://kelnyproject.ucoz.ru/load/7-1-0-14

не уверен, что будет работать на новых версиях SW

Работает.

 

23 часа назад, DuS сказал:

Народ, подскажите, вроде бы видел макрос который разблокирует солид, но не могу его найти.

Выше ссылку дали.

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

 

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

@Kelny  А можно ссылку на API этого кода? Или по какому ключевому слову искать?

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

когда опять заблокируется, тогда и проверю!

Легко заблокировать. Можно открыть сборку или чертёж, а потом открыть деталь от туда и редактировать любой эскиз, вернувшись в сборку или чертёж, программа собщит что одна из деталей в состоянии отката и не даст ни чего делать. Программка UnlockSolidworks позволяет разблокировать программу, померить или что-то изменить и потом снова вернуться к редактированию эскиза.

 

 

UnlockSolidworks.rar

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

А можно ссылку на API этого кода? Или по какому ключевому слову искать?

Если не путаю, то вот (уж не припомню почему использовал цикл), а для блокировки ModelDoc2.Lock:

Цитата

Private Sub Form_Unload(Cancel As Integer)
While ModelDoc2.GetBlockingState
ModelDoc2.UnLock
Wend
End
End Sub

 

https://help.solidworks.com/2010/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.imodeldoc2~getblockingstate.html?_gl=1*181ceau*_up*MQ..*_ga*MTIwODAyMDIyNy4xNzE0NzE5ODQ1*_ga_XQJPQWHZHH*MTcxNDcxOTg0NS4xLjAuMTcxNDcxOTg0NS4wLjAuMA..

 

 

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

Выше ссылку дали.

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

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

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

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

Тоже не сильно программист, но это не мешает облегчать себе жизнь некоторыми макросами и програмками.

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

В продолжение работы с кромками приложение "костылящее" разрыв линии чертежа.

С толщинами генерируемых линий не возился там не все понятно.

Программа скрывает видимую кромку детали и на ее месте рисует две другие с разрывом. Можно разрывать и  эскизные линии.

 

Работа приложения: при запущенной программе выберите кромку детали или эскизную линию.

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

        public void EdgeProcessind(Edge edge)
        {
            ModelDoc2 modelDoc = swApp.ActiveDoc;
            ModelDocExtension modelDocExtension = modelDoc.Extension;
            DrawingDoc drawing = modelDoc as DrawingDoc;

            SelectionMgr selectionMgr = modelDoc.SelectionManager;
            SelectData selectData = selectionMgr.CreateSelectData();

            double[] selectionPoint = selectionMgr.GetSelectionPoint2(1, -1);

            View selectedView = selectionMgr.GetSelectedObjectsDrawingView2(1, -1);
            MathTransform modelTransform = selectedView.ModelToViewTransform;
            double[] viewPosition = selectedView.Position;

            drawing.ActivateView(selectedView.Name);

            modelDocExtension.RunCommand(57, "");
            selectionMgr.AddSelectionListObject(edge, selectData);
            drawing.HideEdge();

            bool selectionStatus = modelDocExtension.SelectByID2("", "SKETCHSEGMENT", selectionPoint[0], selectionPoint[1], selectionPoint[2], false, -1, null, 0);

            if (selectionStatus)
            {
                selectData = selectionMgr.CreateSelectData();
                SketchSegment segment = selectionMgr.GetSelectedObject6(1, -1);

                SketchManager sketchManager = modelDoc.SketchManager;
                SketchSegment tmpSegment = sketchManager.CreateCircleByRadius(
                    (selectionPoint[0] - viewPosition[0]) / modelTransform.ArrayData[12],
                    (selectionPoint[1] - viewPosition[1]) / modelTransform.ArrayData[12],
                    selectionPoint[2],
                    0.003);

                selectionMgr.AddSelectionListObject(segment, selectData);

                bool status = sketchManager.SketchTrim(
                    (int)swSketchTrimChoice_e.swSketchTrimClosest,
                    (selectionPoint[0] - viewPosition[0]) / modelTransform.ArrayData[12],
                    (selectionPoint[1] - viewPosition[1]) / modelTransform.ArrayData[12],
                    selectionPoint[2]);

                modelDoc.ClearSelection2(true);
                selectionMgr.AddSelectionListObject(tmpSegment, selectData);
                modelDocExtension.DeleteSelection2(2);
            }
           modelDoc.ClearSelection2(true);
        }

 

Весь код в одном методе, без проверок. Просто сам принцип. (В данном коде нет обработки линий эскиза - там я, от лени, просто продублировал данный метод с передачей в параметре SketchSegment и одним булевым полем для защиты от зацикливания).

 

TestEdgeTrim.zip

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

Программа скрывает видимую кромку детали и на ее месте рисует две другие с разрывом. Можно разрывать и  эскизные линии.

SW2020 работает.

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

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

Снимок экрана 2024-05-06 210237.png

 

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

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

Окно изменил ( первое это у меня просто тестовое приложение для всего, так что было "как есть").

Орфографию поправил.

Толщина и тип - там надо подумать, как лучше выбирать рассеченные сегменты эскиза. Есть большой вопрос как прочитать стиль и толщину выбранной линии ( в частности кромки).  Так что пока нет.

EdgeTrim_v2.zip

 

З.Ы. Исходники

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

@nicomed, по Edge Trime_v.2 с окошком и орфографией все хорошо. Выявил, что силуэтные кромки тел вращения не обрабатываются. В sw 2016 при выборе более трёх-пяти кромок подряд солид крошится и вылетает. В sw 2020 такого не заметил.

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

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

В sw 2016 при выборе более трёх-пяти кромок подряд солид крошится и вылетает. В sw 2020 такого не заметил.

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

 

1 час назад, malvi.dp сказал:

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

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

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

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

Redraw не помогает?

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

Redraw не помогает?

Не-а. Не GraphicsRedraw2, не ForceRebuild3, не UpdateViewDisplayGeometry,  не активации других видов через АПИ.

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

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

Как победить проблему с блокированием сегментов эскиза не знаю. Поэтому пока полумеры...

Ввел активацию чертежного листа после разрыва линии. Для разблокирования сегментов после закрытия программы двойным кликом активировать чертежный вид, где надо двигать сегменты эскиза.

Добавил настройки. Можно настроить величину генерируемого зазора в  файле options.xml.

По толщине и стилю линии, если кто подскажет как прочитать стиль и толщину выбранной кромки ( силуэтной кромки), то тогда можно будет "напосмотреть".

 

Пару раз натыкался на такой глюк - остается только один сегмент эскиза, грешу на рассинхронизацию работы солида и приложения.

EdgeTrim_v3.3.zip

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

ПРивет Всем, подскажите, пожалуйста, макрос для создания в сборке сопряжения расстояния между плоскостями. К примеру, я выбрал проскости и нажал кнопку высопления макроса и выставилось расстояние между ними которое задано в макросе.

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

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

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

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

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

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