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

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

@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 пользователей

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



  • Сообщения

    • Krusnik
      Ни у кого такого не было, и вот опять...    Плохо смотришь. RealView включается даже без патча на проф видеокартах. Так что патч делает что-то другое. И скажу по секрету: патч этот для проф видеокарт. Там списочек есть. На игровых ничего не поменяется.     А что не 4090? Говорят в киберпанке с трассировкой лучей картинка - отвал башки. Но я могу подсказать - снеси SW и поставь себе Inventor. Вот он на игровых видеокартах всё крутит на мониторе просто офигительно, в идеале правда нужно будет прикупить 3D-мышь.
    • davidovka
      в уравнении Гибкой области ячейки наименование первую строку исправьте на  r=ptstrim(1,asm_mbr_НАИМЕНОВАНИЕ,22,0)  
    • M_u_x_a
      @fenics555, согласен с Вами полностью. Риски, о которых Вы говорите - имеют место наравне с прочими. Выкладываю шаблон и форматку, сохранено в Creo 11. Если сравнить мануалы, реализовано по-разному. Но правка результатов не принесла.  
    • RokiSIA
      Вот и попались, пусть теперь они уже отбрехиваются
    • davidovka
      Выкладывайте свои, посмотри что не работает.
    • Anat2015
      А что, бывает по другому, программисты и операторы сразу сознаются?
    • fenics555
      так пока кто-то пользуется кнопкой "сделайкрасиво" он набивает номенклатуру, библиотеку изделий, с уже неправильно указанными параметрами. И вдальнейшем другим конструкторам пользоваться штатными средствами никак не получится, кроме как открыть КАЖДЫЙ файл, добавить нужные парметры (тут можно импортом из шаблона)  и лапками подправить. КАЖДЫЙ! И сборки. Все. Еще с булками разобраться. Иначе без этой DLLки выводиться будет ерунда. ДАЖЕ СРАНЫЙ ЧЕРТЕЖ ОБЫЧНОЙ ДЕТАЛИ! И никто другой даже не додумается, в чем же дело. Ну вот возьмет он (Конструктор с кнопочкой умной) и уволится от неразделенной любви, или по дороге на работу разобьется. Ну фактор человеческий. Бывает. Он работал, получал ЗП за то, что делал "вроде правильно", но любой другой придет- и не сможет сразбегу "в красоту"! И Бос такой, затягивая сигару: "Эх, салага, вот Стас был- да! ..." Ну там, слеза скупая, всё такое. И не объяснить, что он х8йню делал. Поэтому я стараюсь работу работать так, чтоб после меня "Фен -просто красавчик" сказал тот, кто будет после.
    • M_u_x_a
      Уважаемые Господа @fenics555 и @-stas- ! Каждый из вас по-своему прав. Пользоваться или нет дополнительными приложениями при возможности реализации штатными средствами - это выбор каждого инженера. Тут влияет ещё и специфика работы, взаимодействие с другими инженерами и тд. Лично я, пожалуй, вижу в конкретно этом инструменте скорее положительное, нежели бесполезное. В списке дополнительных приложений запущено и работает. Дело в том, что тот релиз, на который я жаловался, был под Creo 1. С этим мне помог уважаемый @davidovka , за что мой ему поклон. Однако, желаемого результата достичь не удалось, несмотря на правку графы таблицы согласно инструкции-мануалу. Теперь там просто пусто, не заполняет. Прошу кинуть в мою сторону шаблон детали и форматку с которыми оно точно работает. Успехов всем в делах и делишках.
    • Сергей Кочев
      При разборе полётов, все утверждали, что программа отлажена и её ни кто не менял и сделали по ней две детали. Ну вот зашёл в свойства файла программы и увидел, что программу редактировали именно в день аварии. Сздана 11.10 Изменена 30.10. Был в отпуске хотел посмотреть Action Log к сожалению уже данные перезаписались.
    • Даниил_91
      спасибо, просто по поиску не нашел конкретной темы кстати надо попробовать, об этом даже не подумал, спасибо
×
×
  • Создать...