Inventor – Türkçe
Autodesk Inventor Forumlarına Hoş geldiniz. Deneyimlerinizi paylaşın, sorular sorun ve popüler Inventor konularını keşfedin.
iptal
Sunun için bulunan sonuçlar gösteriliyor: 
Göster  sadece  | Bunun yerine şunu ara: 
Şunu mu demek istediniz? 

ilogic ile Assembly içindeki bir patterni parametrelerdeki bir değer bağlamak

7 YANIT 7
ÇÖZÜLDÜ
Yanıtla
Mesaj 1 / 8
AhmetSevik
687 Görüntüleme, 7 Yanıt

ilogic ile Assembly içindeki bir patterni parametrelerdeki bir değer bağlamak

Merhaba,

 

Bir montaj içinde birkaç part ve bir kaç pattern yaptım.

 

ilogic ile part'ların ve/veya rectangular patterni supress etmek için parametrelerdeki bir değere bağlamak istiyorum.

Örneğin;

parametre içindeki WT değeri 1 olduğundan patterni supress etmesini istiyorum. Ama yapamadım. Acaba patternmi olmuypr diye partlardan birini denedim yine o da supress olmadı.

Bana bir örnek ilogic kodu yazıp kısaca açıklamanız mümkünmü? Eğer yapılabiliyorsa tabi. dün i logic ile bir art içindeki unsuru supress etmeyi öğrendim ama assembly içinde biraz daha farklı sanırım.

 

(Not: Sanıyorum bunun Level of detail kısmı ile ilgilis var. Çünkü yeni bir level yaratıp orada yaptığımda oluyor ama Master modu aktif iken olmuyor. Ve ben bunun her durumda çalışmasını istiyorum açıkcası. Master modu dahil.

Teşekkürler

7 YANIT 7
Mesaj 2 / 8
Gokhan_Kaya
cevap verdi: AhmetSevik

Merhaba Ahmet bey

Suppress işlemleri level of detail oluşturulmadan yapılamaz. Yani Inventor Representations kısmında level of detail de mevcut bulunan 4 tane level of detail değiştirilemez olduğundan siz herhangi bir suppress işlemi yapmak istediginizde yeni bir level of detail oluşturmanız gerekecek. Zaten inventor de bir parca veya montajı suppress yaptıgınızda otomatik level of detail oluşur ama eğer bu işlemi ilogic ile yapıyorsanız otomatik level oluşturulamaz. Size tavsiyem montajınızda bir level of detail oluşturup suppress ilogicte suppress işlemlerini bu level of detailde gerçekleştirmeniz

 

örnek bir montaj aşagıdadır


Forumlarımızda çözülen sorularınızı "ÇÖZÜM OLARAK KABUL ET" ("Accept as Solution") seçimiyle işaretlemeyi lütfen unutmayın.
Beğendiğiniz mesajları lütfen "Övgü Puanı" ("Kudo") ile ödüllendirin.

Gökhan Kaya
Tehcnical Manager
Autodesk Inventor Certified Professional 2015
LinkedIn



MSI WS 60 i7 Quadro M2000M

Mesaj 3 / 8
AhmetSevik
cevap verdi: Gokhan_Kaya

Cevabınız için teşekkürler. Bu durumda bir soru daha oluşuyor. Bir montaj içinde birden fazla level of detail olduğu durumlarda kural yazmayı nasıl yapmalıyım. Bir kural yazdığımdan sadece o level içinmi yoksa aynı kural tüm leveller içinmi çalışır?

Tesekkürler

Mesaj 4 / 8
Gokhan_Kaya
cevap verdi: AhmetSevik

Merhaba

ilogic kuralları level of detail ile bağlı değildir yani inventor de bulunan default 4 adet level of detail dışında suppress işlemleri için herhangi bir level of Detail'de çalışacaktır. zaten ilogic te sadece suppress işlemi yaptığınız için level of detail ile bağlantılıdır. Tabii burda şöyle bir problem oluşabilir eğer siz montajınızda level of detail siztemini kullanıyor ve buna göre çalışıyorsanız ilogic ile yaptığınız suppress işlemleri sizin daha önce oluşturdugunuz Level of Detail (Bundan sonra LOD olarak yazacagım) lerdeki suppress leri değiştirecektir. o yüzden tavsiyem ilogiç için özel bir LOD oluşturmak ve işlemleri bu LOD ta yaptırmanızdır. Tabii bunun kontrolünü de kural içinde yapabilirsiniz bunun için de şu kod satırını eklemeniz yeterlidir

 

ThisApplication.ActiveDocument.ComponentDefinition.RepresentationsManager.LevelofDetailRepresentations("ilogic için oluşturulan LOD adı").Activate

tabii bir önce gönderdigim dosya için şu şekilde yazılacaktır

 

ThisApplication.ActiveDocument.ComponentDefinition.RepresentationsManager.LevelofDetailRepresentations("Demo").Activate


If WT=1 Then
Component.IsActive("0007:1")=False
Component.IsActive("0008:1")=False
Component.IsActive("0006:1")=False
Component.IsActive("0009:1")=False
Component.IsActive("0006:2")=False

ElseIf WT=2 Then
Component.IsActive("0007:1")=True
Component.IsActive("0008:1")=True
Component.IsActive("0006:1")=True
Component.IsActive("0009:1")=True
Component.IsActive("0006:2")=True
Else

End If

 

LOD for ilogic.png


Forumlarımızda çözülen sorularınızı "ÇÖZÜM OLARAK KABUL ET" ("Accept as Solution") seçimiyle işaretlemeyi lütfen unutmayın.
Beğendiğiniz mesajları lütfen "Övgü Puanı" ("Kudo") ile ödüllendirin.

Gökhan Kaya
Tehcnical Manager
Autodesk Inventor Certified Professional 2015
LinkedIn



MSI WS 60 i7 Quadro M2000M

Mesaj 5 / 8
AhmetSevik
cevap verdi: Gokhan_Kaya

ilginize çok teşekkür ederim. Verdiğin LOD kodu ile çözdüm olayı. İstediğim gibi yaptım.

 

ThisApplication.ActiveDocument.ComponentDefinition.RepresentationsManager.LevelofDetailRepresentations("Cift Cam").Activate
ThisApplication.ActiveDocument.ComponentDefinition.RepresentationsManager.LevelofDetailRepresentations("Tek Cam").Activate

Belirttiğiniz gibi ben birden fazla LOD ile çalışıyorum. İlk önce koymadım ve diğer LOD modunda kuralı tanımadı. bende verdiğini kodu üst üst yazıp çoğaltarak ve LOT isimlerini yazarak denedim. Bu sefer oldu.

 

Sadece üst kodu ezbere yaptığım için pek kafam yatmadı. Başlangıç aşamasında olduğumdan anlamayada açlışıyorum mantığını. Yukarıdaki kodu yandaki menülerden çağırarak oluşturdunuz diye bakındım ama bulamadım. Ilogic rowser'da yanda LOT ile ilgili kısmı bulamadım.

 

Yinede teşekkürler. İşimiz çözdüm.

 

Bu ilogic harika birşey. Çok işime yarayacak şeyler olacağına eminim. Daha çok başınızı ağrıtacağım gibi görünüyor.

 

İyi çalışmalar.

 

Mesaj 6 / 8
ulasdeniz
cevap verdi: AhmetSevik

İlogic içerisinde bulunmayana ama WBA içerisinde bulunan kodları ThisAplication ile başlayan seri boyunca sıralanan komutlarla çağırıyoruz. Normalde ilogic kodları pratik bir şekilde detaya gereksiz uzun kodlara gerek duymadan hızlıca bir şeyler yapmanızı sağlıyor. fakat çok kısıtlı bir komut kütüphanesi var. ilogic bir anlamda inventor WBAnın kısayolu gibi çalışıyor. olmayan komutları da ThisApplication, ActiveDocument gibi kodlarla ilogic ortamına çağırıyoruz. mantığı bu.

Ulaş Deniz


Forumlarımızda çözülen sorularınızı "ÇÖZÜM OLARAK KABUL ET" ( "ACCEPT AS SOLUTION" ) seçimiyle işaretlemeyi lütfen unutmayın.
Beğendiğiniz mesajları lütfen "Övgü Puanı" (KUDO) ile ödüllendirin.
Youtube : https://www.youtube.com/channel/UCkJpVueGScmJvW1RIgqttSg

Mesaj 7 / 8
AhmetSevik
cevap verdi: ulasdeniz

(İkidebir yazıyorum ama benim gibi bilgisi olmayanlara bilgi ve tecrübe olsun diye. Cevaplamak durumunda değilsiniz.)

 

Ayrıca şunu farkettim denemeler sonucunda, eğer ilogic ile part veya subassembly supress ediyorsanız sorun yok. Ancak bir pattern supress edecekseniz ve bu pattern ile çoğaltma değeriniz 0 (sıfır)' a düşüyorsa supress et kuralınız varsa bu durumda ilogic çalıştığında pattern parametre hatası veriyor. Pattenlerde sıfır değer geçerli değil bildiğiniz gibi. Normelde eğer pattern supress edecekseniz ilogic ile, kural çalıştığında ne yazıkki patterni değil, içindeki partları supress ediyor. Patterni supress etse sorun yok. Ama pattern hala gündemde kaldığı ve çoğaltma değeri sıfıra düştüğü için hata veriyor.

 

Mantık kurarak ben de şu şekilde yazıp çözdüm. (Mantığını anlamam bu yüzden önemli idi)

If SPensolQ<=1 Then
Component.IsActive("Component Pattern 4:1")=False
Parameter("d464") = 1

Else
Component.IsActive("Component Pattern 4:1")=True
Parameter("d464") = SPensolQ-1
End If

 Parametredeki bu d464 değeri patternin çoğaltma değeri, sıfıra düşerse sen onu 1 miş gibi düşün dedim. Değilse normal değerin neyse (buradkai durumda SpensolQ-1) onu kabul et dedim. Şimdi hata vermiyor ve çalışıyor.

İlogic'in aslında patterni komple pattern olarak supress etmesi çok daha iyi olurdu. o durumda değer sıfır ise sorun da çıkarmazdı. Yada ben farklı birşey yaptığım için pattern değil içindeki componentler suppress oluyor.

 

Teşekkürler...

 

Ahmet...

Mesaj 8 / 8
Gokhan_Kaya
cevap verdi: AhmetSevik

Merhaba

dogru yöntem kullanmışsınız çünkü inventor de pattern suppress olmadıgından kullanılan değer 0 olamaz hata verir

 

 

mantık olarak doğru bir yöntem

 


Forumlarımızda çözülen sorularınızı "ÇÖZÜM OLARAK KABUL ET" ("Accept as Solution") seçimiyle işaretlemeyi lütfen unutmayın.
Beğendiğiniz mesajları lütfen "Övgü Puanı" ("Kudo") ile ödüllendirin.

Gökhan Kaya
Tehcnical Manager
Autodesk Inventor Certified Professional 2015
LinkedIn



MSI WS 60 i7 Quadro M2000M

Aradığınızı bulamadınız mı? Topluluğa sorun veya bilgilerinizi paylaşın.

Soru Sor  

Autodesk Design & Make Report