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

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

streamdown и artem_cad

Ответте пожалуйста еще на один вопрос.

Можно ли определить выбранный размер параллелен оси X или он параллелен оси Y?

А то перебирая размеры по приведеному Вами (streamdown) выше примеру я удаляю все размеры кроме максимального. А мне нужно оставит максимальный по оси Х и максимальный по оси Y.

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


streamdown и artem_cad

Ответте пожалуйста еще на один вопрос.

Можно ли определить выбранный размер параллелен оси X или он параллелен оси Y?

А то перебирая размеры по приведеному Вами (streamdown) выше примеру я удаляю все размеры кроме максимального. А мне нужно оставит максимальный по оси Х и максимальный по оси Y.

 

Вот пример: https://cloud.centralinnovation.com.au/sharpcode/index?article=Get-the-Dimensions-Orientation

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

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

С помощью  .AutoDimension проставляю размеры по схеме "цепь" а потом ищу максимальный размер по горизонтали и по вертикали, а все остальные соответственно удаляю.

 

Если можно ечередной вопрос.

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

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

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

С помощью  .AutoDimension проставляю размеры по схеме "цепь" а потом ищу максимальный размер по горизонтали и по вертикали, а все остальные соответственно удаляю.

 

Если можно ечередной вопрос.

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

 

IDisplayDimension можно привести к IAnnotation, а у него уже есть http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IAnnotation~GetAttachedEntities3.html

 

который и вернет к чему размер прикреплен

 

P.S. Классная идея с AutoDimension и удалением ненужных размеров. Я и не думал об этом. :clap_1:

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

IDisplayDimension можно привести к IAnnotation, а у него уже есть http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IAnnotation~GetAttachedEntities3.html

 

который и вернет к чему размер прикреплен

 

P.S. Классная идея с AutoDimension и удалением ненужных размеров. Я и не думал об этом. :clap_1:

"IDisplayDimension можно привести к IAnnotation"

Если Вас не затруднит можете привести пример как это сделать

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

Annotation родительский класс для DisplayDimension, поэтому просто через знак равно можно привести:

Dim dispDim as DisplayDimension
dispDim = ...Указатель на размер
Dim ann as Annotation
ann = dispDim
ann.GetAttachedEntities3 ...
Ссылка на сообщение
Поделиться на других сайтах

 

Annotation родительский класс для DisplayDimension, поэтому просто через знак равно можно привести:

Dim dispDim as DisplayDimension
dispDim = ...Указатель на размер
Dim ann as Annotation
ann = dispDim
ann.GetAttachedEntities3 ...

Спасибо огромное

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

 

Annotation родительский класс для DisplayDimension, поэтому просто через знак равно можно привести:

Dim dispDim as DisplayDimension
dispDim = ...Указатель на размер
Dim ann as Annotation
ann = dispDim
ann.GetAttachedEntities3 ...
 
Уважаемый Artem_cad
Подскажите пожалуйста. С помощью GetAttachedEntities3 получаю два объекта прикрепленные к выбранной аннотации. Как теперь получить тип объектов или их имена (или любые их уникальные характеристики, что бы их можно было идентифицировать, это линия гиба или нет).
Нашел метод GetAttachedEntityTypes2 (http://help.solidworks.com/2016/english/api/sldworksapi/Get_Types_of_Entities_for_Selected_Dimension_Example_VB.htm), но он почему то упорно не хочет работать, хотя в примере работает. Ошибка 438. Объект не поддерживает это свойство или метод.
 
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim swDispDim As SldWorks.DisplayDimension
Dim swDim As SldWorks.Dimension
Dim swAnn As SldWorks.Annotation
Dim Obj As Variant
Dim TypeObj As Variant


Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swDraw = swModel
Set swView = swDraw.IActiveDrawingView
Set swDispDim = swView.GetFirstDisplayDimension5
Set swAnn = swDispDim.GetAnnotation
Obj = swAnn.GetAttachedEntities3 ' получаю два объекта прикрепленные к выбранной аннотации
TypeObj = swAnn.GetAttachedEntityTypes2  ' не работает ???
Debug.Print TypeObj (0)
End Sub

 

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

Попробуйте GetAttachedEntityTypes

Судя по справке GetAttachedEntityTypes2 - для моделей.

Спасибо огромное я сам до этого вчера до топал. Только получаемые данные интересные. Пока не разобрался как из них вычленить линии гиба.

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

 

swSelEXTSKETCHSEGS ?

 

Спасибо. Это я и сам нашел. Вобщем я так понял, Что бы оставить цепочку размеров от края детали до края детали со всеми линиями гиба нужно оставить размеры ссылающиеся на следующие элементы

swSelEDGES, swSelEXTSKETCHSEGS

swSelEXTSKETCHSEGS, swSelEXTSKETCHSEGS

swSelEXTSKETCHSEGS, swSelEDGES

И габаритные размеры детали, (максимальные размеры по оси х и по оси y).

 

 

Подскажите пожалуйста правильно ли я разобрался

swSelEDGES - край детали

swSelEXTSKETCHSEGS - линия гиба

swSelVERTICES - вертекс <<<--- Что это такое? Из хелпов я понял, что это точка начала или конца образующей ребра.

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

 это кромка детали

 

 

EXTSKETCHSEGS

это эскиз не в момент редактирования, что то вроде EXi:smile: 

правильно ли я разобрался
в целом, логику можно применить. Но только если у вас ТОЧНО не будет отображено на виде никаких эскизов кроме линий гиба.
Ссылка на сообщение
Поделиться на других сайтах

 

 это кромка детали

 

 

это эскиз не в момент редактирования, что то вроде EXi:smile: 

 

 

в целом, логику можно применить. Но только если у вас ТОЧНО не будет отображено на виде никаких эскизов кроме линий гиба.

 

Спасибо огромное. Вот и возник вопрос. Подскажите как погасить все эскизы на чертеже кроме линий гиба?

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

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

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

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

А как гасятся элементы? И почему все, ведь нужно гасить только эскизы (вырезов например). Так если погасить эскиз выреза то погасится и сам вырез.

Кстате еще вопросик. Подскажите как определить при переборе деталей в сборке погашена ли деталь или нет???

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

Тьфу, попутал, не гасить - скрывать.

BlankSketch


как определить
 

да собсна...всё в хелпе))

http://help.solidworks.com/2015/english/api/sldworksapi/traverse_assembly_and_hide_all_sketches_example_vb.htm

см. Sub BlankSketchFeature

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

Тьфу, попутал, не гасить - скрывать.

BlankSketch

 

 

 

да собсна...всё в хелпе))

http://help.solidworks.com/2015/english/api/sldworksapi/traverse_assembly_and_hide_all_sketches_example_vb.htm

см. Sub BlankSketchFeature

Огромное человеческое спасибо

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

Наверное, всё таки к вам @@artem_cad.

На данный момент вижу 3 основных типа для хранения больших объёмов данных в файле Solidworks:

1) в design binder

2) в third-party
3) в macro feature

Данные, которые хочу сохранять, не связаны со свойствами файлов (к примеру, самостоятельная спецификация). Данные хочется хранить именно в файлах. Данные будут только в сборках. Требуется считывать эти данные как из текущей сборки так и из под-под-под...сборок. Естественно, скорость доступа важна. Работал плотно с 1 и 2 вариантами.

Смотря с колокольни вашего опыта :smile:  вопрос:

Где оптимальней всего это сохранять? Может быть ещё есть варианты, кроме тех, что описал выше?

 

 

 

Попутно второй вопрос:

Вы работали в связке WPF Host Control с шаблоном MVVM? Насколько всё становится сложнее при binding?

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

Здравствуйте,

 

Еще можно хранить данные в атрибутах. но для больших объемов - 3rd Party Storage IMHO лучший вариант. Вы хотите хранить Ваши кастомные структуры? Если да, то посоветовался бы пользоваться DataContractSerializers : https://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer(v=vs.110).aspx. Достаточно высокоее быстродействие, причем можно сериализовать/десериализовать сразу в 3rd Party Storage.

WPF Host Control с шаблоном MVVM

Да, в первый раз столкнулся около года назад, ну и после этого не могу "соскочить". IMHO один из лучших паттернов для UI. Жаль, что Microsoft не особо развивает WPF (разница между первой версией и текущей практически отсутсвует). Но, это, как говорится, "perfect from the beginning" :smile: Иногда упрощаю паттерн до Model-View-ViewModel и всю бизнес логику реализую во ViewModel.

 

Ну и если Вы будете Ваши ViewModels сериализовать через XML, это будет прекрасно вписыватсья в MVVM

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

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

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

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

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

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

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

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

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

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

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



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