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

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

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

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


16 часов назад, Sla_68 сказал:

Причина так и не нашлась

 

Это потому что, про 

 

В 20.02.2018 в 17:38, Sla_68 сказал:

"raspil"

 

это не к солиду..

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

Не могу.. Про политику на форуме нельзя..

Тут нет никакой политики , тут логика и здравый смысл. Мне тут много раз помогли, только потому что я задавал знающим людям уместные вопросы ну и люди мне старались дать на них уместные ответы. В остальном я не понимаю зачем тут писать.

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

Доброго вечера. Есть ли способ выяснить координату средней точки объектов EDGE, SketchSegment? Я сейчас юзаю жутко странный метод связанный с выделением

swModel.SelectMidpoint()

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

@Sla_68 а чем математика опять не подошла? https://www.mathsisfun.com/algebra/line-midpoint.html

На сплайне так вообще фиг найдёшь.

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

Здравствуйте! Мне нужно создать форму во время выполнения макроса с парой текстбоксов. Как это сделать из редактора макросов SolidWorks? Из VisualStudio несколько программ на vb.net делал, но вот из под Solid не пойму как создать форму программно...

Заранее большое спасибо.)

 

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

Так Солид  и использует  Visual Studio.. Если возможности не урезаны, то должно быть все тоже самое..

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

Так Солид  и использует  Visual Studio.. Если возможности не урезаны, то должно быть все тоже самое..

О, точно!! Большое спасибо! ) А я как то не сообразил, что можно также вручную создать форму. ))

 

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

Подскажите пожалуйста, как (какой командой) сделать автоподбор ширины столбца таблицы на чертеже по самой длинной надписи? для VBA

Или может быть, как отформатировать таблицу на чертеже, чтобы в каждой ячейке длинный текст был только одной строкой?

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

В справке нашел только:

Value = instance.SetColumnWidth(Index, Width, Options)

- задает ширину столбца.

Но длина текста ячеек всегда разная, а хотелось бы как в екселе одной командой, как Target.EntireColumn.AutoFit

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

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

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

@alek77 автосайза нет. Но есть 3 пути:

1) https://msdn.microsoft.com/en-us/library/y4xdbe66(v=vs.110).aspx измерить текст и самому задать ширину.

2) Использовать сжатие текста в ячейке.

3) Ещё хитрый))) рекурсией изменяем фонт текста по пути замеряя изменилась ли высота строки. Как только высота стала заданной - текст влез и подгоняем ширину столбца.

 

@Sla_68 PackAndGo

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

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

 

Показать содержимое  

002.thumb.jpg.5594863d702f3f0a22ba452dcda63a74.jpg

Hide  

 

 

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

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

Вы можете пройтись циклом по всем компонентам и сравнить их по признаку пути:

Sub selcomp()
    Dim swAssy As assemblyDoc
    Dim Comp As SldWorks.Component2
    
    Set swApp = Application.SldWorks
    Set swAssy = swApp.ActiveDoc
    
    ''''
    Set swSelMgr = swAssy.SelectionManager
        If swSelMgr.GetSelectedObjectCount = 0 Then
            MsgBox "ничего не выделено"
            Exit Sub
        End If
   
    If swSelMgr.GetSelectedObjectCount > 1 Then Exit Sub
    Set swEntity = swSelMgr.GetSelectedObject6(1, -1)
    Set selectiocomp = swEntity.GetComponent
    '''
  swAssy.ClearSelection2 True
Set selpart = selectiocomp.GetModelDoc2
selname = selpart.GetTitle

coms = swAssy.GetComponents(False)
    If Not IsEmpty(coms) Then
    For i = 0 To UBound(coms)
        Set Comp = coms(i)
        Set part = Comp.GetModelDoc2
            If Not part.GetTitle Like "*.SLDASM" And part.GetTitle = selname Then
                 Comp.SelectByMark 1, 2
                End If
      Next i
    End If
End Sub

 

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

Вы можете пройтись циклом по всем компонентам и сравнить их по признаку пути:

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

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

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

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

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

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

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

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

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

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

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

    • SXoxa



×
×
  • Создать...