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

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

10 минут назад, IgorT сказал:

не будет делать

Если инфа 100% и он даже не соберётся, то подумаем про любимый SW сами.

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


Эх.... С утра не получается постигнуть, как выбрать все обозначения сварки. С целью поменять текст в обозначении. Ибо штатная функция SW не работает для сварки по ГОСТ.:sad:

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

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

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

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

Нужен ли выбор всех? Особенно на разных листах.

 

Можно пробежаться по всем видам и объектам антотациям и выбрать/модифицировать каждый в отдельности, проверяя их принадлежность к знакам сварки.

 

Например, глянуть что нибудь вроде:

 

swView = swDraw.GetFirstView

Do While Not swView Is Nothing

...

count = swView.GetWeldSymbolCount

Dim Weld As WeldSimbol

If count > 0 Then

                Annotations = swView.GetWeldSymbols

                For j = 0 To UBound(Annotations)

                   Weld = Annotations(j)

...

 

http://help.solidworks.com/2010/english/api/sldworksapi/get_annotations_arrays_example_vbnet.htm

 

или что нибудь вроде View.GetFirstWeldSymbol и Weld.GetNext:

http://help.solidworks.com/2010/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.iweldsymbol_methods.html

 

 

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

Это что получается, сварку можно получить только с текущего экрана? Может ошибаюсь?

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

можно получить только с текущего экрана?

Вот здесь код удаляет подвешенные размеры на всех листах:

Добавьте в свой строки:

    vSheetNames = swDraw.GetSheetNames
    For i = 0 To UBound(vSheetNames)
        swDraw.ActivateSheet vSheetNames(i)
        Set swSheet = swDraw.Sheet(vSheetNames(i))
        Set swView = swDraw.GetFirstView
        Do While Not swView Is Nothing

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

сварку можно получить только с текущего экрана?

Нет конечно. Можно перебрать все листы, на каждом листе все виды, на каждом виде все сварки.

Ссылка на сообщение
Поделиться на других сайтах
В 04.12.2017 в 02:55, Sla_68 сказал:

Добрый вечер. Тоже  вопрос по чертежам. Проблема во вставке вида примечания. Ну просто никак не хочет модель вставляться с "моим"  (дополнительным )видом примечания. Стандартные виды "Спереди" "Справа" "Сверху" макрос "кушает"  хорошо. Причем "мои" виды в ручном режиме тоже нормально вставляются. Но с помощью макроса Set myView = Part.CreateDrawViewFromModelView3(filePath, "*мойвид", 0, 0, 0) -полная беда у меня. Может я чего не понимаю . Подскажите плиз, куда смотреть? Я грешил на названия вида сначала. Думал виновата кириллица. Пробовал на латиннице. Потом попробовал с цифрами/ даже с (A) на английском и русском . Бестолку.

01.jpg

 

Народ , тема до сих пор актуальна.  Сейчас работал со своим проектом вставляя все детали "спереди". Потом долго и мучительно переворачивал их руками. Может как то это все через цикл можно сделать? Типа Set myview =первый  графический вид , если название <> "1" то, myview.следующий графический вид ? Не могу в хелпе пример подобрать.

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

ваш вид сначала должен попасть в палитру видов. Та, что справа. Если он там есть или прям должен быть, то сначала рефрешнуть палитру, потом вставить вид.

А этой актуальной темой попробовали что я советовал?

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

А этой актуальной темой попробовали что я советовал?

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

 А насчет палитры видов там все гут. Вид создается в другом макросе и сохраняется. Если врукопашную вставлять модель , то он там. Меня очень смущает (A), поскольку  если написать вместо "*Спереди" -"*спереди" то уже ничего не работает

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

А насчет палитры видов там все гут

точно? Скриншот покажете? )))

3 часа назад, Sla_68 сказал:

поскольку  если написать вместо "*Спереди" -"*спереди" то уже ничего не работает

 а если ещё и омериканский интерфейс включииить....

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

@Sla_68 невнимательны.

14 часа назад, streamdown сказал:

ваш вид сначала должен попасть в палитру видов. Та, что справа.

это когда открываешь чертёж, поворачиваешь глаза в правую часть SW, там закладочка.

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

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

06.jpg

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

@Sla_68 так, похоже с вас пивасик))) литра три

bool retv = swTempDraw.GenerateViewPaletteViews(swModelDoc2.GetPathName());
var viewNames = swTempDraw.GetDrawingPaletteViewNames();
FlatView = swTempDraw.DropDrawingViewFromPalette2("A", 0.0, 0.0, 0.0);
swTempModel.ViewZoomtofit();

 

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

@Sla_68 так, похоже с вас пивасик))) литра три

Да какой разговор , я уже похоже бочку вам задолжал. Скиньте мне пожалуста в лс карту, я вас готов отблагодарить. Я тут как халявщик сижу. Не хочу быть свинтусом неблагодарным.

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

@Sla_68 так, похоже с вас пивасик))) литра три


bool retv = swTempDraw.GenerateViewPaletteViews(swModelDoc2.GetPathName());
var viewNames = swTempDraw.GetDrawingPaletteViewNames();
FlatView = swTempDraw.DropDrawingViewFromPalette2("A", 0.0, 0.0, 0.0);
swTempModel.ViewZoomtofit();

 

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

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

Всё зер гут

Ещё бы :smile: сам в своё время намучился с поиском этой дряни.

Пивас получил. Спасибо!

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

...

Dim Weld As WeldSimbol

...

Что такое " WeldSimbol"? VBA ругается на него, и в хелпе о нем не знают :g:

Возможно  должно быть WeldSymbol?

 

 

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

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

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

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

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

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

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

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

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

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

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




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