FreeCAD

Форк
0
/
KukaExporter.py 
75 строк · 2.4 Кб
1
#!/usr/bin/env python3
2
# -*- coding: utf-8 -*-
3

4
# Kuka export lib (c) Jürgen Riegel 2009 LGPL 2.1 or higher
5

6
import time
7

8
TeachPointFold = """
9
;FOLD LIN P4  Vel= 0.2 m/s CPDAT1 Tool[1] Base[0];%{PE}%R 5.4.27,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P4, 3:, 5:0.2, 7:CPDAT1
10
$BWDSTART = FALSE
11
LDAT_ACT=LCPDAT1
12
FDAT_ACT=FP4
13
BAS(#CP_PARAMS,0.2)
14
LIN XP4
15
;ENDFOLD
16
"""
17

18
TeachPointDat = """
19
DECL E6POS XP4={X -25.1844196,Y 1122.42603,Z 1158.07996,A -14.3267002,B 0.537901878,C 179.028305,S 6,T 59,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
20
DECL FDAT FP4={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
21
DECL LDAT LCPDAT1={VEL 2.0,ACC 100.0,APO_DIST 100.0,APO_FAC 50.0,ORI_TYP #VAR}
22
"""
23

24
HeaderSrc = """&ACCESS RVP
25
&REL 1
26
&PARAM TEMPLATE = C:\KRC\Roboter\Template\ExpertVorgabe
27
&PARAM EDITMASK = *
28
"""
29

30

31
def ExportCompactSub(Rob, Trak, FileName):
32
    print(Rob, Trak, FileName)
33
    Traj = Trak.Trajectory
34
    # open the output file
35
    SrcFile = open(FileName, "w")
36
    # header
37
    SrcFile.write(HeaderSrc)
38
    # subroutine definition
39
    SrcFile.write("DEF " + Trak.Name + "( )\n\n")
40
    SrcFile.write(";- Kuka src file, generated by FreeCAD (https://www.freecad.org)\n")
41
    SrcFile.write(";- " + time.asctime() + "\n\n")
42
    # defining world and base
43
    SrcFile.write(";------------- definitions ------------\n")
44
    SrcFile.write("EXT BAS (BAS_COMMAND :IN,REAL :IN ) ;set base to World\n")
45
    SrcFile.write("BAS (#INITMOV,0 ) ;Initialicing the defaults for Vel and so on \n\n")
46

47
    SrcFile.write("\n;------------- main part ------------\n")
48

49
    for w in Traj.Waypoints:
50
        (X, Y, Z) = (w.Pos.Base.x, w.Pos.Base.x, w.Pos.Base.x)
51
        (A, B, C) = w.Pos.Rotation.toEuler()
52
        V = w.Velocity / 1000.0  # from mm/s to m/s
53
        SrcFile.write("$VEL.CP = %f ; m/s ; m/s \n" % V)
54
        SrcFile.write(
55
            "LIN {X %.3f,Y %.3f,Z %.3f,A %.3f,B %.3f,C %.3f} ; %s\n"
56
            % (w.Pos.Base.x, w.Pos.Base.y, w.Pos.Base.z, A, B, C, w.Name)
57
        )
58

59
    # end of subroutine
60
    SrcFile.write("\n;------------- end ------------\n")
61
    SrcFile.write("END \n\n")
62

63
    SrcFile.close()
64
    # open the output file
65
    # DatFile = open(FileName[:-4]+'.dat','w')
66
    # header
67
    # DatFile.write(HeaderSrc)
68
    # subroutine definition
69
    # DatFile.write("DEFDAT "+Trak.Name+" PUBLIC\n\n")
70
    # DatFile.write("ENDDAT\n")
71
    # DatFile.close()
72

73

74
def ExportFullSub(Rob, Trak, FileName):
75
    print(Trak, FileName)
76

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

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