Jump to content
Sign in to follow this  
Alexbug

Обозначения деталей при переносе в новую сборку

Recommended Posts

Alexbug

Добрый день!

Стали отдавать часть деталей для изготовления на сторону. Появилась необходимость стандартизации обозначений.

Вопрос: первое изделие называется ФФФ.000010.СБ, соответственно деталям в нем присвоены обозначения типа ФФФ.000010.011.023.

Во втором изделии большинство деталей те же самые, и при создании нового проекта просто копируются в него. То есть, обозначения будут отличаться только номером изделия (ФФФ.00020, ФФФ.00030 и т.д.). Нужно каждый раз менять номера вручную, или в инвенторе можно сделать это автоматически?

Share this post


Link to post
Share on other sites


UnPinned posts
Bully

а как заимствованные не пойдут?

Share this post


Link to post
Share on other sites
Ветерок
1 час назад, Alexbug сказал:

Нужно каждый раз менять номера

НЕЛЬЗЯ!

Если дель та же самая, то и обозначение у неё должно быть то же самое.

Вы же для болтов обозначения не меняете. Или тоже в каждой сборке болты обзываете по-своему?

Share this post


Link to post
Share on other sites
Alexbug

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

Значит надо вручную:sad:

Share this post


Link to post
Share on other sites
Bully
Posted (edited)
1 час назад, Ветерок сказал:

НЕЛЬЗЯ!

можно и нужно, если речь про единичное изготовление подобных механизмов и устройств и системе обозначений не по ЕСКД. Чтобы путаницы при изготовлении не было, в какую сборку изготовленную деталь включить. Вернее, или так, или уж постоянно применяемым деталям присвают отвлеченное от обозначения устройств обозначения и выделяют их в унифицированные детали. Может даже с созданием СТП. Но придется как раз обеспечить как-то исключение вышеуказанной путаницы при сборке.

Просто если есть такая проблема, то почему бы и не использовать заимствование? Чтобы обойти эту сиюминутную проблему

Edited by Bully

Share this post


Link to post
Share on other sites
Ветерок
2 минуты назад, Bully сказал:

постоянно применяемым деталям присвают отвлеченное от обозначения устройств обозначения и выделяют их в унифицированные детали

Вот это правильнее.

Share this post


Link to post
Share on other sites
Alexbug
1 час назад, Bully сказал:

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

Ну так при заимствовании имя все равно пишется вручную, или я туплю?

Share this post


Link to post
Share on other sites
Ветерок
1 час назад, Alexbug сказал:

имя все равно пишется вручную

Куда пишется?

Share this post


Link to post
Share on other sites
frei
1 час назад, Alexbug сказал:

вручную

да ну нах.

Спойлер

1174794182_.thumb.png.fc8fe2d05c7194455938ee5260e1401f.png

Скрипт берет обозначение сборки и фигачит по нему обозначения в детали. скрипт нужно модифицировать, чтобы пропускать десятки в деталях и назначать обозначение подсборок, а также нули добавить что бы писалось 001, 002, и т.д.

Спойлер

' Берем обозначение Сборки и вписываем в детали
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
Dim iter As Integer
iter = 1 'итерируемое обозначение
'Iterate through all of the occurrences
Dim oOccurrence As ComponentOccurrence
For Each oOccurrence In oAsmCompDef.Occurrences
'check for and skip virtual components
'(in case a virtual component trips things up)
If Not TypeOf oOccurrence.Definition Is VirtualComponentDefinition Then
iProperties.Value(oOccurrence.Name, "Project", "Part Number") = iProperties.Value("Project", "Part Number")+"."+CStr(iter) 
InventorVb.DocumentUpdate()
iter+=1
Else
End If
Next

 

  • Нравится 1

Share this post


Link to post
Share on other sites
Alexbug

Круть!

Спасибо! Сам бы долго вкуривал

Share this post


Link to post
Share on other sites
Alexbug

Снова здравствуйте,

С нумерацией деталей я наконец-то разобрался. 

Но возник еще один вопрос:

Можно ли с помощью ILogic исправить часть обозначения детали. Например, все детали в большой сборке (с подсборками) содержат произвольное (буквы и цифры) выражение "DDDD", его надо заменить на "SSSS".  (AAA.0078.DDDD.1111.* на AAA.0078.SSSS.1111.*).

Share this post


Link to post
Share on other sites
frei
В 20.04.2020 в 11:40, Alexbug сказал:

Можно ли с помощью ILogic исправить часть обозначения детали. Например, все детали в большой сборке (с подсборками) содержат произвольное (буквы и цифры) выражение "DDDD", его надо заменить на "SSSS".  (AAA.0078.DDDD.1111.* на AAA.0078.SSSS.1111.*)

ниже код, заменяет в обозначениях детали "АБВ" на "БУГОГА"

Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'Iterate through all of the occurrences
Dim oOccurrence As ComponentOccurrence
For Each oOccurrence In oAsmCompDef.Occurrences
'check for and skip virtual components
'(in case a virtual component trips things up)
If Not TypeOf oOccurrence.Definition Is VirtualComponentDefinition Then
iProperties.Value(oOccurrence.Name, "Project", "Part Number") = Replace(iProperties.Value("Project", "Part Number"),"АБВ","БУГОГА")
InventorVb.DocumentUpdate()
iter+=1
Else
End If
Next

 

  • Нравится 1

Share this post


Link to post
Share on other sites
frei
6 часов назад, Alexbug сказал:

Спасибо

еще рано,

В 20.04.2020 в 11:40, Alexbug сказал:

(с подсборками)

код ниже заменяет "АБВ" на "БУГОГА" в обозначении всех деталей и внутри подсборок:

Sub Main()
    Dim oDoc As Inventor.AssemblyDocument
    oDoc = ThisApplication.ActiveDocument	
    Dim oCompDef As Inventor.ComponentDefinition
    oCompDef = oDoc.ComponentDefinition
    ' Get all occurrences from component definition for Assembly document
    Dim oCompOcc As ComponentOccurrence
    For Each oCompOcc In oCompDef.Occurrences
		If Not TypeOf oCompOcc.Definition Is VirtualComponentDefinition Then
        	' Check if it's child occurrence (leaf node)
        	If oCompOcc.SubOccurrences.Count = 0 Then			
				iProperties.Value(oCompOcc.Name, "Project", "Part Number") = Replace(iProperties.Value("Project", "Part Number"),"БУГОГА","АБВ")
        	Else ' если подсборка
				iProperties.Value(oCompOcc.Name, "Project", "Part Number") = Replace(iProperties.Value("Project", "Part Number"),"БУГОГА","АБВ")
				Call processAllSubOcc(oCompOcc, iSubAssemblies) ' подсборка
        	End If
		End If
    Next  
    
End Sub

Private Sub processAllSubOcc(ByVal oCompOcc As ComponentOccurrence, ByRef iSubAssemblies As Long)

    Dim oSubCompOcc As ComponentOccurrence	
	For Each oSubCompOcc In oCompOcc.SubOccurrences
        If Not TypeOf oSubCompOcc.Definition Is VirtualComponentDefinition Then
		' Check if it's child occurrence (leaf node)		
        	If oSubCompOcc.SubOccurrences.Count = 0 Then			
				iProperties.Value(oSubCompOcc.Name, "Project", "Part Number") = Replace(iProperties.Value("Project", "Part Number"),"БУГОГА","АБВ")		
        	Else				
            	iProperties.Value(oSubCompOcc.Name, "Project", "Part Number") = Replace(iProperties.Value("Project", "Part Number"),"БУГОГА","АБВ")		
				Call processAllSubOcc(oSubCompOcc, iSubAssemblies) 'Рекурсивный вызов
			End If
		End If
    Next
End Sub

 

  • Нравится 1

Share this post


Link to post
Share on other sites
Alexbug
17 часов назад, frei сказал:

еще рано

Спасибо еще раз!

Все работает.

А Вы, случайно, не знаете нет ли где нибудь чего чего нибудь типа самоучителя - уроков по этой хрени (команды, операторы, в-общем для чайников). Продираться сквозь описания инвентора  - завал полный. Затыкаюсь на какой-то глупости, понимаю, что ответ должен быть простым, а найти не могу (наверно не там ищу:smile:)

Share this post


Link to post
Share on other sites
Alexbug
20 часов назад, frei сказал:

код ниже заменяет "АБВ" на "БУГОГА" в обозначении всех деталей и внутри подсборок

К сожалению, я немного поторопился.

Код заменяет "АБВ" на "БУГОГА", но при этом обрезает в обозначении подсборок и деталей все значения, следующие за "БУГОГА". 

Например: было главная сборка - 100.АБВ.СБ, деталь в подсборке -  100.АБВ.020.030

                     стало: 100.БУГОГА.СБ, детали в подсборке -  100.БУГОГА.СБ

Share this post


Link to post
Share on other sites
frei
3 часа назад, Alexbug сказал:

я немного поторопился.

Да, я переделал свое старое правило, которое расставляло обозначения для подсборок и деталей, и для деталей назначалось обозначение сборки.

вот замена обозначения одного на другое:

Sub Main()
    Dim oDoc As Inventor.AssemblyDocument
    oDoc = ThisApplication.ActiveDocument	
    Dim oCompDef As Inventor.ComponentDefinition
    oCompDef = oDoc.ComponentDefinition
    ' Get all occurrences from component definition for Assembly document
    Dim oCompOcc As ComponentOccurrence
    For Each oCompOcc In oCompDef.Occurrences
		If Not TypeOf oCompOcc.Definition Is VirtualComponentDefinition Then
        	' Check if it's child occurrence (leaf node)
        	If oCompOcc.SubOccurrences.Count = 0 Then			
				iProperties.Value(oCompOcc.Name, "Project", "Part Number")=Replace(iProperties.Value(oCompOcc.Name, "Project", "Part Number"),"БУГОГА","АБВ")
        	Else ' если подсборка
				iProperties.Value(oCompOcc.Name, "Project", "Part Number")=Replace(iProperties.Value(oCompOcc.Name, "Project", "Part Number"),"БУГОГА","АБВ")        
				Call processAllSubOcc(oCompOcc, iSubAssemblies) ' подсборка
        	End If
		End If
    Next  
    
End Sub

Private Sub processAllSubOcc(ByVal oCompOcc As ComponentOccurrence, ByRef iSubAssemblies As Long)

    Dim oSubCompOcc As ComponentOccurrence	
	For Each oSubCompOcc In oCompOcc.SubOccurrences
        If Not TypeOf oSubCompOcc.Definition Is VirtualComponentDefinition Then
		' Check if it's child occurrence (leaf node)		
        	If oSubCompOcc.SubOccurrences.Count = 0 Then			
				iProperties.Value(oSubCompOcc.Name, "Project", "Part Number")=Replace(iProperties.Value(oSubCompOcc.Name, "Project", "Part Number"),"БУГОГА","АБВ")		
        	Else				
            	iProperties.Value(oSubCompOcc.Name, "Project", "Part Number")=Replace(iProperties.Value(oSubCompOcc.Name, "Project", "Part Number"),"БУГОГА","АБВ")		
				Call processAllSubOcc(oSubCompOcc, iSubAssemblies) 'Рекурсивный вызов
			End If
		End If
    Next
End Sub

 

6 часов назад, Alexbug сказал:

типа самоучителя - уроков по этой хрени (команды, операторы, в-общем для чайников). Продираться сквозь описания инвентора  - завал полный. Затыкаюсь на какой-то глупости, понимаю, что ответ должен быть простым, а найти не могу (наверно не там ищу:smile:)

мб начать с VBA для чайников-это самому языку.

Kamming_S.__VBA_dlya_quotchajnikovquot.j

более предметно по Ilogic поспрашайте/поищите на cad.ru  - там спецы были, может чего посоветуют почитать/посмотреть.

  • Нравится 1

Share this post


Link to post
Share on other sites
Alexbug
2 часа назад, frei сказал:

Да, я переделал свое старое правило

Большое спасибо за код и за ссылки!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  
  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • karachun
      Вы тему не в том разделе открыли. Вот раздел где сидят прочнисты. Вот там эту тему заметят и скорее всего помогут. https://cccp3d.ru/forum/34-динамика-и-прочность/ Вы бы еще на форум по шитью обратились.   По теме - попробуйте закрепить перемещения по двум нижним ребрам, если считаете в линейной постановке то этого должно хватить.
    • mamomot
      Не получается. Я вчера часа четыре вырисовывал проекции в 3Д окне. Но создать по ним 3Д путь так и не удалось!  Можете картинку с вылодить с примером?
    • FedMAZ
      Доброго времени суток, столкнулся с вот с какой проблемой, если  в "обработке" указываю тип смещения  "программное" (G40) получаю УП такого вида: G91 G92 X0 Y5. ; C096 ; G41 H000 ; G01 X0 Y-1. ; C001 ; G01 X0 Y-3.852 ; G01 X1. Y0  ... станок на это ругается, и да я понимаю, что можно ручками поменять цифру, но кода деталей на пластине по 100 штук, это превращается в боль. Фаил поста прикрепляю, заранее спасибо, если кто поможет. ActSpark.asc
    • emirus
      Если бы нашёл что то на ютубе, не спрашивал бы тут.   Всем спасибо. Тема закрыта! 
    • SHARit
      Эка вас запуск взбудоражил. Прекращаем треп не по теме!
    • AlexAB
      Снова отвечаю сам на свои вопросы...)) Может другим будет полезно. Нашёл один вариант, как такое сделать. Не буду тут расписывать - приведу ссылку с инструкциями: https://www.eng-tips.com/viewthread.cfm?qid=348064 Способ работает - нагрузку и закрепления на ограниченные участки грани прикладывать можно. Правда, он состоит из нескольких шагов - не самый простой вариант для такой распространённой задачи. Я думаю, должен быть и другой - более "элегантный"... Если кто знает ещё варианты - пишите.
    • AlexAB
      Да, уже поставил. Постепенно разбираюсь...)
    • AlexKaz
      Да нет. Так рыночек порешал. На зп. выжить нельзя, заработать можно только на доп. подработках за живые деньги. Я так с 2013 года тусуюсь на проектах - там подкинут, здесь подкинут задачек.
    • vasillevich68
      Можно. В 3D окне подсвечиваете курсором плоскость на которой планируете чертить, ПКМ, выбираете чертить на плоскости
    • Alex1986
      укажите, пожалуйста, где я что-то писал об инструкции для пиратского ПО? Это системная проблема, а не проблема одного конкретного поставщика
×
×
  • Create New...