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

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

@Maik812 К сожалению, задача повисла((( надо продолжить, есть другие проекты, которые отнимают много времени. Вы как то разделяете детали, сборки, уникальность деталей или обще кол-во дет. в сборке? 

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


5 часов назад, Redinskiy сказал:

Вы как то разделяете детали, сборки, уникальность деталей или обще кол-во дет. в сборке? 

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

так что общее количество деталий.

обычно так. но все же от прожекта зависит.

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

Если речь о сложности и трудоемкости, то количество деталей и их композиция в сборке не всегда ее характеризует. 7000 одинаковых деталей, выполненных массивом, это одна деталь. В оценке "производительности по проекту" (кстати, производительности кого/чего?) трудозатраты в большей степени определяются количеством связей, количеством и трудоемкостью "изготовления" уникальных деталей. Вообще говоря, подобные задачи стоит решать методом "весовых коэффициентов", но это отдельная история.

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

Вечер добрый!

Копаюсь в SW API в районе штриховок.

Подскажите, как по FaceHach получить Component ?

Пытаюсь через FaceHatch -> Face -> GetFeature() -> GetEntity() -> GetComponent() , но получаю Null еще на  уровне Feature.

Как я понимаю что FaceHatch  создаются SW специально на сечениях, вспомогательных видах с сечениями и т.д., но поверхностями компонента не являются. Как их связать с компонентом ?

 

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

Пытаюсь через FaceHatch -> Face -> GetFeature() -> GetEntity() -> GetComponent() , но получаю Null еще на  уровне Feature

Здесь пишут, что Feature лишний в цепочке 

How to get the component from a selected face (... | SOLIDWORKS Forums

 

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

Здесь пишут, что Feature лишний в цепочке 

How to get the component from a selected face (... | SOLIDWORKS Forums

 

По хелпу у IFace2 нет интерфейса GetEntity(), а есть? GetFeature(). А, главное, у "них" разговор про просто выделенную face. С ней проблем нет, все работает. Проблемка именно с FaceHatch.

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

Доброго утра!

Уточняющие вводные к предыдущему вопросу:

На чертеже выбираем вид:

View view = swSelMgr.GetSelectedObject6(1, 0) as SolidWorks.Interop.sldworks.View;

Из вида выбираем заштрихованные поверхности (FaceHatch):

foreach (FaceHatch fh in view.GetFaceHatches())

Далее идем по такой цепочке методов (все работает, по крайней мере имена feature начитываются корректно):

                    Face2 face = h.Face;
                    Body2 body = face.GetBody();
                    Feature feature = body.GetFeatures()[0];

Далее привожу Entity entity = feature as Entity;

Получаю компонент: Component2 comp = entity.GetComponent(); - и тут появляется null.

Где я не прав ?

 

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

Доброго утра!

Уточняющие вводные к предыдущему вопросу:

На чертеже выбираем вид:

View view = swSelMgr.GetSelectedObject6(1, 0) as SolidWorks.Interop.sldworks.View;

Из вида выбираем заштрихованные поверхности (FaceHatch):

foreach (FaceHatch fh in view.GetFaceHatches())

Далее идем по такой цепочке методов (все работает, по крайней мере имена feature начитываются корректно):

                    Face2 face = h.Face;
                    Body2 body = face.GetBody();
                    Feature feature = body.GetFeatures()[0];

Далее привожу Entity entity = feature as Entity;

Получаю компонент: Component2 comp = entity.GetComponent(); - и тут появляется null.

Где я не прав ?

 

А выделенные имена переменных - разные, это так и должно быть?

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

.. это ошибка  в сообщении, решил сделать имена понятнее и не везде откорректировал ...

надо читать : Face2 face = fh.Face;

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

Доброго утра!

Уточняющие вводные к предыдущему вопросу:

На чертеже выбираем вид:

View view = swSelMgr.GetSelectedObject6(1, 0) as SolidWorks.Interop.sldworks.View;

Из вида выбираем заштрихованные поверхности (FaceHatch):

foreach (FaceHatch fh in view.GetFaceHatches())

Далее идем по такой цепочке методов (все работает, по крайней мере имена feature начитываются корректно):

                    Face2 face = h.Face;
                    Body2 body = face.GetBody();
                    Feature feature = body.GetFeatures()[0];

Далее привожу Entity entity = feature as Entity;

Получаю компонент: Component2 comp = entity.GetComponent(); - и тут появляется null.

Где я не прав ?

 

А какая цель этого кода?

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

Ну ..., если глобально, то, подозреваю, изобретение очередного велосипеда, ибо "патентный поиск аналогов" не производил.

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

На данном этапе хочу получить компонент, которому принадлежит заштрихованная грань отображенная в разрезе.

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

Ну ..., если глобально, то, подозреваю, изобретение очередного велосипеда, ибо "патентный поиск аналогов" не производил.

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

На данном этапе хочу получить компонент, которому принадлежит заштрихованная грань отображенная в разрезе.

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

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

Мне вот это место не понятно

Цитата

Далее привожу Entity entity = feature as Entity;

 

Правда, в хелпе не смотрел и код не пробовал.

Но по идее, на вскидку

entity - это линия на виде, а

feature - это узел в дереве...

 

В одном случае feature это Feature, а в другом - Entity

Может в этом причина?

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

 

3 минуты назад, Shvg сказал:

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

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

12 минут назад, brigval сказал:

Мне вот это место не понятно

 

Правда, в хелпе не смотрел и код не пробовал.

Но по идее, на вскидку

entity - это линия на виде, а

feature - это узел в дереве...

 

В одном случае feature это Feature, а в другом - Entity

Может в этом причина?

По хелпу ТЫЦ кастовать Feature в Entity можно.

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

 

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

По хелпу ТЫЦ кастовать Feature в Entity можно.

А проверять типы не пробовали? После присвоения

Цитата

 

 ' Get type through entity interface
    Debug.Print "Entity type as defined in swSelectType_e: " & swEntity.GetType
    Debug.Assert (swEntity.GetType = swSelectType_e.swSelBODYFEATURES)

    ' Get type through feature interface
    ' Feature inherits from Entity, so will actually call Entity::GetType
    Debug.Print "Entity type as defined in swSelectType_e: " & swFeature.GetType
    Debug.Assert (swFeature.GetType = swSelectType_e.swSelBODYFEATURES)

 

 

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

 

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

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

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

Далее привожу Entity entity = feature as Entity;

На С не программирую, но просто интересно. То что выделил, так и должно быть?

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

На С не программирую, но просто интересно. То что выделил, так и должно быть?

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

Entity entity = (Entity) feature;

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

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

Entity entity = (Entity) feature;

Спасибо.

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

Посмотрел малость.

Когда вы выходите на Body, то как бы заходите внутрь детали и просматриваете Features детали.

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

Поэтому Entity.GetComponent будет всегда Null

Чтобы Entity выдал компонент сборки, изображенной на виде, этот Entity должен быть примитивом (линией, поверхностью, вершиной или swViewEntityType_SilhouetteEdge), видимым на виде чертежа.

Поэтому, задача может быть такой - от штриховки перейти к примитивам вида.

Как это выполнить пока не понятно.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Jesse
      это вопрос к специалстам по грунтам..)) @Fedor@Fedor
    • Борман
      Основной вопрос в том, правда ли что в таком "разжиженом" грунте возникает сила Архимеда от плотности 1,8т/м3 ?
    • Jesse
      самый общий случай - надо поверхностный интеграл от давления взять по всей площади (англояз. версия вашей ссылки Вики) Если снизу не будет воды, значит там не будет давления, а значит результирующая сила будет сверху давить, её вектор будет вниз направлен   всё так. Ну в случае подлодки подробности не знаю, мб хватит и того, что какие -то участки под дном для затекания морской воды перекрыты будут, и уже лодку придавит вниз..)
    • BSV1
      Здесь https://disk.yandex.ru/d/il8bxSu41Kw0Bw можно скачать Начальный курс по ТФ Максимова и Протасовой. Курс старый, но для старта вполне подойдет.
    • Говорящий Огурец
      Вряд ли это радиатор как "вещь в себе". Скорее поверю, что это некая интегрированная в корпусную деталь структура. И не всегда возможна обработка дисковыми фрезами, хотя она, из моей практики, самая производительная. Если говорить про обработку концевушками, то есть специальные стратегии обработки высоких нежестких ребер, когда чередуется черновая и чистовая обработка, послойно и в определенном порядке, с целью минимизировать отгибы и вибрации. Где-то у меня даже картинки были с описанием, но что-то не могу их найти... :(
    • 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, то в "Результатах" есть переменная Расход массовый и Расход объемный, который берется в сечении - плоскости или с ГУ. Все само считает.    
×
×
  • Создать...