• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

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

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Чертежи, эскизы - построение программой.

Автор Vitalij Lysanov, 17.07.17, 10:28:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Vitalij Lysanov


Пробовал построить реальную деталь -  немного напрягает.

Для облегчения можно применить комплексные числа.
Например t1=11+22*1J, это точка   11,22
                t2=33+44*1J? это точка  33,44

Напечатав:
tekst(t1,"t1")
tekst(t2,"t2")                Получим красные кружки и рядом имя точки в программе, "t1","t1"

Включили выполнение программы, смотрим на чертеж и проводим:
Imj=otrezok(t1,t2)                    Проводим отрезок между точками t1 и t2.
duga (centr,dn,t3,t2)                Дуга по центру, радиусу и крайним точкам.
t2=peresechenie(okr,prjm)        Точка пересечения примитивов.
doc2d.ksDeleteObj(okr)            Удаление объектов по имени.
razmer (t4,t5,-33)                     Размер между точками  t4,t5  (33- смещение по высоте)
osi(centrotv1z,dotv1+3)             Оси отверстий по центру и диаметру (3 – выступ за отверстие )

Для эскиза есть управляющая переменная, которая убирает текст из чертежа. Может лучше текст тонкими линиями печатать.
Теперь изменяя переменные можно получить новую деталь.
Можно и для эскизов применить программу.
В программе есть начало получения данных со страниц Excel.
В Компасе 17 Python 3 допускает русские буквы для переменных и функций, совсем хорошо.


Код из программы отвечающий за построение детали:

okr=okrug(centr,dn)


t1=0-(visota-(dn/1.0))*1j
tekst(t1,"t1")

#prjm =  doc2d.ksLine( 0, -(visota-(dn/2.0)), 0 )
prjm = prjmaj(t1,0)

t2=peresechenie(okr,prjm)
tekst(t2,"t2")

t3=t2.real*-1+t2.imag*1j
tekst(t3,"t3")



time.sleep (3)

#doc2d.ksDeleteObj(tochka)
doc2d.ksDeleteObj(okr)
doc2d.ksDeleteObj(prjm)


duga (centr,dn,t3,t2)










t4=-nominalb+t3.imag*1j
tekst(t4,"t4")

t5=nominalb+t3.imag*1j
tekst(t5,"t5")

otrezok(t2,t4-faska06)
otrezok(t4-faska06,t4+faska06*1j)

otrezok(t3,t5+faska06)
otrezok(t5+faska06,t5+faska06*1j)

t6=t5+hmrab*1j
tekst(t6,"t6")
otrezok(t5+faska06*1j,t6)


t7=t4+hbrab*1j
tekst(t7,"t7")


#t8=-nominalm+t6.imag*1j
t8=t6-nominalm*2.0
tekst(t8,"t8")

t9=t8-(hmrab-hbrab-pro6)*1j
tekst(t9,"t9")

otrezok(t4+faska06*1j,t7)
otrezok(t8,t9)

t11=t7-gl_prot
otrezok(t7,t11)
t12=t11+pro6*1j
otrezok(t11,t12)
otrezok(t12,t9)

t14=(dn/1.0-verh65-dv/1.0)*1j
tekst(t14,"t14")

okrv1=okrug(t14,dv)

okrv2=okrug(t14,dv-skruglenie6)
prjmaj1=prjmaj(t8,0)
prjmaj2=prjmaj(t8+skruglenie6*1j,0)

t22=peresechenie(okrv2,prjmaj2)
tekst(t22,"t22")


t22-t14
ug=ugol_otrezka(t22,t14)
ugg=math.degrees(ug)

prjmaj11=prjmaj(t14,ugg)
t32=peresechenie(okrv1,prjmaj11)
tekst(t32,"t32")



t33=t22-skruglenie6*1j
tekst(t33,"t33")

doc2d.ksDeleteObj(okrv1)
doc2d.ksDeleteObj(okrv2)

duga (t14,dv,-t32.real+t32.imag*1j,t32)

otrezok(t33,t8)
otrezok(-t33.real+t33.imag*1j,t6)

duga (t22,skruglenie6,t32,t33)


t22z=-t22.real+t22.imag*1j
t32z=-t32.real+t32.imag*1j
t33z=-t33.real+t33.imag*1j
duga (t22z,skruglenie6,t33z,t32z)

okrug(centrotv1,dotv1)
okrug(centrotv2,dotv2)

osi(centrotv1,dotv1+5)
osi(centrotv2,dotv2+5)


centrotv1z=-centrotv1.real+centrotv1.imag*1j
centrotv2z=-centrotv2.real+centrotv2.imag*1j

okrug(centrotv1z,dotv1)
okrug(centrotv2z,dotv2)

osi(centrotv1z,dotv1+3)
osi(centrotv2z,dotv2+3)

osi(0+0*1j,dn+3)




razmer (t4,t5,-33)

razmer (t6,t8,10)

doc2d.ksDeleteObj(prjmaj1)
doc2d.ksDeleteObj(prjmaj2)
doc2d.ksDeleteObj(prjmaj11)