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

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

@streamdown Скажите пожалуйста, можно ли два объекта с формата (".sldprt" - деталь), добавить как отдельные детали в сборку? Как добавлять деталь в сборку знаю. А вот как обратиться к одному из твердых тел в "детали" и сохранить отдельно в формате ".sldprt"  чтобы потом добавить в сборку, не знаю.. Если вообще так можно.

 

222.PNG

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


1 минуту назад, mrazzzb сказал:

сохранить отдельно в формате ".sldprt"

Хммм...

Попробуйте вот что:

- в сборке выбрать компонент

- войти в режим его редактирования AssemblyDoc::EditPart2

- раскопать в API как работать с методом CreateFeatureFromBody3 

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

Попробуйте вот что:

- в сборке выбрать компонент

- войти в режим его редактирования AssemblyDoc::EditPart2

- раскопать в API как работать с методом CreateFeatureFromBody3 

Спасибо! Посмотрю!!

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

Подскажите пожалуйста ,можно ли при добавлении eDrawings ActiveX control (просмотр 3d модели)  добавить кнопку включение функции измерить ?

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

спасибо 

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

@streamdown Привет, у меня вопросы не закончатся наверно:doh:        

Почему то не определяет запущенный SolidWorks, просто запускаю по значку на рабочем столе, и не находит:g:2016 версию находит а 2012 нет. Но мне нужно чтобы 2012 находил.. В чем может быть проблема? 

public Boolean GetSolidworks()
        {
            try
            {
                SwApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");
            }
            catch
            {
               
                MessageBox.Show("Ошибка, Solidworks не найден", "Внимание!",  MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return false;
            }
             return true;
         }

 

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

2016 версию находит а 2012 нет

 

9 часов назад, mrazzzb сказал:

у меня вопросы не закончатся наверно

И тут я такой хоппа, как джин из бутылки)))

SwApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application.25");//для 2017
SwApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application.24");//для 2016 

далее, думаю, сможете посчитать :smile:

 

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

@streamdown Еще одна проблема решена:clap_1:Спасибо вам! Только вот когда солид запущен посредством guid, свойство 

GetActiveObject("SldWorks.Application.24"); 

не помогает, не видит почему-то :g: создаю документ как вы и говорили NewDocument2(), все безуспешно.

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

Если вы запустили SW ранее, но ничего дальше видеть не надо. У вас он уже есть и  GetActiveObject делать не надо.

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

@streamdown Я к тому  что, запустил солид по guid, закрыл свою программу, потом открываю заново и не могу, так сказать, "подключиться" к открытому солиду.

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

Зачем? Вы его открыли в программе. Программа сделала своё дело. Ну так закройте "за собой" :smile:

Если он вам дальше понадобится, то зачем выходить из программы?

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

Если он вам дальше понадобится, то зачем выходить из программы?

В случае если ошибка в коде, чтобы второй раз не ждать пока он запуститься, да и вдруг случайно закроется программа))

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

В случае если ошибка в коде

Тогда руками.

Только что, mrazzzb сказал:

да и вдруг случайно закроется программа

Вы эти случайности должны отлавливать.

 

Ох, если б вы знали, сколько времени я трачу на запуск солида для дебага аддонов :smile:

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

Поставили мне тут на работе SW15.. Запускаю из редактора макрос VBA и окно солида становится не доступным для любых действий..
Тыкаю мышкой в любое место окна, а окно макроса мыргает, типа "я тут сверху, к солиду не лезь!!!"

В SW 12, 09, 07 такого не было..

Как обойти это безобразие??
 

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

Поставили мне тут на работе SW15.. Запускаю из редактора макрос VBA и окно солида становится не доступным для любых действий..
Тыкаю мышкой в любое место окна, а окно макроса мыргает, типа "я тут сверху, к солиду не лезь!!!"

В SW 12, 09, 07 такого не было..

Как обойти это безобразие??

Бывало на разных версиях, после SW2007, что окно открывалось под программой и ни как не хотело от туда вылезать.

Ищите по ключевым словам VBA always onTop (то есть форма приобретает свойство быть поверх всех окон) , например, можно это посмотреть (первое попавшееся):

Цитата

Option Explicit 
 'API function to enable/disable the Excel Window
Private Declare Function FindWindowA Lib "user32" _ 
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
 
Private Declare Function EnableWindow Lib "user32" _ 
(ByVal hwnd As Long, ByVal bEnable As Long) As Long 
 
Private Declare Function SetWindowPos Lib "user32" ( _ 
ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ 
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _ 
ByVal cy As Long, ByVal wFlags As Long) As Long 
 
Private Const SWP_NOSIZE = &H1 
Private Const SWP_NOMOVE = &H2 
Private Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE 
Private Const HWND_TOPMOST = -1 
Private Const HWND_NOTOPMOST = -2 
Private mlHWnd As Long 
Private mbDragDrop As Boolean 
Private FormHWnd As Long 
 
Private Sub cmdNotTop_Click() 
    SetWindowPos FormHWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS 
End Sub 
 
Private Sub cmdTop_Click() 
    SetWindowPos FormHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS 
End Sub 
 
Private Sub UserForm_Activate() 
    On Error Resume Next 
     'Find the Excel main window
    mlHWnd = FindWindowA("XLMAIN", Application.Caption) 
    FormHWnd = FindWindowA(vbNullString, Me.Caption) 
    Call cmdTop_Click 
     'Enable the Window - makes the userform modeless
    EnableWindow mlHWnd, 1 
    mbDragDrop = Application.CellDragAndDrop 
    Application.CellDragAndDrop = False 
End Sub 
 
Private Sub btnOK_Click() 
    Application.CellDragAndDrop = mbDragDrop 
    Call cmdNotTop_Click 
    Unload Me 
End Sub 

http://www.vbaexpress.com/forum/showthread.php?5071-Solved-Keep-userform-on-top-at-all-times&p=42974&viewfull=1#post42974

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Говорящий Огурец
      Вряд ли это радиатор как "вещь в себе". Скорее поверю, что это некая интегрированная в корпусную деталь структура. И не всегда возможна обработка дисковыми фрезами, хотя она, из моей практики, самая производительная. Если говорить про обработку концевушками, то есть специальные стратегии обработки высоких нежестких ребер, когда чередуется черновая и чистовая обработка, послойно и в определенном порядке, с целью минимизировать отгибы и вибрации. Где-то у меня даже картинки были с описанием, но что-то не могу их найти... :(
    • BSV1
      Забавно          Аккуратнее надо с выбором курсов. 
    • Fedor
      А на дне закон Архимеда не действует ?    https://ru.wikipedia.org/wiki/Закон_Архимеда     :)    https://upload.wikimedia.org/wikipedia/commons/transcoded/3/3c/Закон_Архимеда.webm/Закон_Архимеда.webm.720p.vp9.webm
    • lem_on
      Давно бы уже экструзией давили и только контактную сторону обрабатывали. 
    • Orchestra2603
      Хотите сказать, что если маленький воздушный шарик надутый придавить ко дну до верха наполненной ванны, то он не всплывет? Для того, чтобы под днищем подлодки ликвидировать давление, там должна быть полная герметичность. Как только туда хоть сколько-нибудь воды затечет, очень быстро там давление жидкости станет ro*g*h, и если баластные цистерны обеспечивают положительную плавучесть, подлодка начнет всплывать неизбежно.   Они действительно сейчас не ложатся на дно (хотя раньше в прошлом это кстати не запрещалось), но делают это из чисто практических соображений.
    • a_schelyaev
      а) Гидростатический столб считается от нулевого уровня, в котором и нужно обозначить величину плотности. б) Если брать текущую релизную версию 22, то в "Результатах" есть переменная Расход массовый и Расход объемный, который берется в сечении - плоскости или с ГУ. Все само считает.    
    • Ветерок
      Там курс аж на пол-года. Тяжело с этим ТФ.
    • SAPRonOff
      вот тут знакомые преподаватели, Пильщиков - победитель WorldSkills Russia
    • Jesse
      ну тут имхо похожая ситуация как с подлодками: пока подлодка плавает в толще моря/окияна, то на неё действует выталкивающая сила, ~ равная разности гидростатических давлений между верхом и низом. Но если подлодка сядет на дно, то она уже всплыть не сможет без исп-я спец. средств, ибо снизу воды уже нету, и на неё будет сверху давить вся толща воды (по идее когда она садится на дно давление скачкообразно должно увеличиваться). В случае с вашей подводной трубой - обратная ситуация: грунт под трубой размывается, труба всплывает.  Так что с точки зрения физики тут всё ок. Потери устойчивости не будет, но трубопровод изогнётся к верху. Прогиб можно посчитать, если приложить сверху и снизу разность гидростатич. давл-я.
    • si-64
      тем что после перезагрузки SW эту панельку в рандомное место пихает:  
×
×
  • Создать...