From c3574c64fa1c00e97ca8e1ba7c9daa1a044cb1d8 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Sat, 16 Sep 2017 14:28:11 +0530 Subject: [PATCH 01/23] before trying screen manager --- Python Ver/.idea/Python Ver.iml | 11 + Python Ver/.idea/misc.xml | 4 + Python Ver/.idea/modules.xml | 8 + Python Ver/.idea/workspace.xml | 332 +++++++++++++++++++++++++ Python Ver/CPCG.kv | 81 ++++++ Python Ver/Calc Ex/.idea/Calc Ex.iml | 11 + Python Ver/Calc Ex/.idea/misc.xml | 4 + Python Ver/Calc Ex/.idea/modules.xml | 8 + Python Ver/Calc Ex/.idea/workspace.xml | 227 +++++++++++++++++ Python Ver/Calc Ex/calculator.kv | 83 +++++++ Python Ver/Calc Ex/main.py | 27 ++ Python Ver/main.py | 54 ++++ 12 files changed, 850 insertions(+) create mode 100644 Python Ver/.idea/Python Ver.iml create mode 100644 Python Ver/.idea/misc.xml create mode 100644 Python Ver/.idea/modules.xml create mode 100644 Python Ver/.idea/workspace.xml create mode 100644 Python Ver/CPCG.kv create mode 100644 Python Ver/Calc Ex/.idea/Calc Ex.iml create mode 100644 Python Ver/Calc Ex/.idea/misc.xml create mode 100644 Python Ver/Calc Ex/.idea/modules.xml create mode 100644 Python Ver/Calc Ex/.idea/workspace.xml create mode 100644 Python Ver/Calc Ex/calculator.kv create mode 100644 Python Ver/Calc Ex/main.py create mode 100644 Python Ver/main.py diff --git a/Python Ver/.idea/Python Ver.iml b/Python Ver/.idea/Python Ver.iml new file mode 100644 index 0000000..6711606 --- /dev/null +++ b/Python Ver/.idea/Python Ver.iml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Python Ver/.idea/misc.xml b/Python Ver/.idea/misc.xml new file mode 100644 index 0000000..bb371b2 --- /dev/null +++ b/Python Ver/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Python Ver/.idea/modules.xml b/Python Ver/.idea/modules.xml new file mode 100644 index 0000000..2f328f7 --- /dev/null +++ b/Python Ver/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml new file mode 100644 index 0000000..f99a965 --- /dev/null +++ b/Python Ver/.idea/workspace.xml @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calculation + entry + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1505461925554 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv new file mode 100644 index 0000000..1e173d6 --- /dev/null +++ b/Python Ver/CPCG.kv @@ -0,0 +1,81 @@ +: + font_size: 32 + +ScreenManager: + PrelimScreen: + MainScreen: + PostScreen: + FinalScreen: + + +: + + + id: mainwindow + orientation: 'vertical' + padding: 10 + spacing: 10 + + + GridLayout: + cols: 2 + row_force_default: True + row_default_height: 45 + + GridLayout: + cols: 1 + padding: 250,0,0,0 + Label: + text: "Radius (m):" + font_size: 32 + + + GridLayout: + cols: 1 + padding: 50,0,250,0 + TextInput: + id:radius + font_size: 32 + multiline: False + + + GridLayout: + cols: 2 + row_force_default: True + row_default_height: 35 + + GridLayout: + cols: 1 + padding: 150,0,0,0 + Label: + text: "Rotation Sense:" + font_size: 32 + + + CustomDropDown: + Button: + id: btn + text: 'Press' + on_release: dropdown.open(self) + size_hint_y: None + height: '48dp' + + Widget: + on_parent: dropdown.dismiss() + + DropDown: + + id: dropdown + on_select: btn.text = '{}'.format(args[1]) + + Button: + text: 'Clock-Wise' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Clock-Wise') + + Button: + text: 'Counter Clock-Wise' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Counter Clock-Wise') diff --git a/Python Ver/Calc Ex/.idea/Calc Ex.iml b/Python Ver/Calc Ex/.idea/Calc Ex.iml new file mode 100644 index 0000000..6711606 --- /dev/null +++ b/Python Ver/Calc Ex/.idea/Calc Ex.iml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Python Ver/Calc Ex/.idea/misc.xml b/Python Ver/Calc Ex/.idea/misc.xml new file mode 100644 index 0000000..bb371b2 --- /dev/null +++ b/Python Ver/Calc Ex/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Python Ver/Calc Ex/.idea/modules.xml b/Python Ver/Calc Ex/.idea/modules.xml new file mode 100644 index 0000000..8be5837 --- /dev/null +++ b/Python Ver/Calc Ex/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Python Ver/Calc Ex/.idea/workspace.xml b/Python Ver/Calc Ex/.idea/workspace.xml new file mode 100644 index 0000000..ed4ab95 --- /dev/null +++ b/Python Ver/Calc Ex/.idea/workspace.xml @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -169,13 +173,12 @@ - - + - + - - + + @@ -215,6 +218,11 @@ + + + + + @@ -240,6 +248,7 @@ + @@ -247,6 +256,7 @@ + @@ -254,6 +264,7 @@ + @@ -261,6 +272,7 @@ + @@ -268,6 +280,7 @@ + @@ -275,6 +288,7 @@ + @@ -298,32 +312,34 @@ - + - - + + + - - + + + - + - - + + - - + + diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index 1e173d6..d1268a7 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -1,81 +1,153 @@ -: - font_size: 32 +#: import SlideTransition kivy.uix.screenmanager.SlideTransition -ScreenManager: +: + size_hint_y: 0.1 + size_hint_x: 0.5 + font_size: 30 + +ScrMgt: PrelimScreen: MainScreen: PostScreen: FinalScreen: +: + name: 'PrelimScreen' + BoxLayout: + orientation: 'vertical' + padding: 10 + spacing: 10 -: + RelativeLayout: + BoxLayout: + size_hint: 0.7, 0.18 + pos_hint: {'center_x': 0.5, 'center_y': 0.4} - id: mainwindow - orientation: 'vertical' - padding: 10 - spacing: 10 + Label: + text: "Radius (m):" + font_size: 32 + TextInput: + id:radius + font_size: 32 + multiline: False - GridLayout: - cols: 2 - row_force_default: True - row_default_height: 45 - GridLayout: - cols: 1 - padding: 250,0,0,0 - Label: - text: "Radius (m):" - font_size: 32 + RelativeLayout: + BoxLayout: + size_hint: 0.7, 0.18 + pos_hint: {'center_x': 0.5, 'center_y': 0.9} - GridLayout: - cols: 1 - padding: 50,0,250,0 - TextInput: - id:radius - font_size: 32 - multiline: False + Label: + text: "Rotation Sense:" + font_size: 32 + CustomDropDown: + Button: + id: btn + text: 'Press' + on_release: dropdown.open(self) + size_hint_y: None + height: '48dp' - GridLayout: - cols: 2 - row_force_default: True - row_default_height: 35 + Widget: + on_parent: dropdown.dismiss() - GridLayout: - cols: 1 - padding: 150,0,0,0 - Label: - text: "Rotation Sense:" - font_size: 32 + DropDown: + id: dropdown + on_select: btn.text = '{}'.format(args[1]) - CustomDropDown: - Button: - id: btn - text: 'Press' - on_release: dropdown.open(self) - size_hint_y: None - height: '48dp' + Button: + text: 'Clock-Wise' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Clock-Wise') - Widget: - on_parent: dropdown.dismiss() + Button: + text: 'Counter Clock-Wise' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Counter Clock-Wise') - DropDown: + AnchorLayout: + anchor_x: 'right' + anchor_y:'bottom' + padding:10 - id: dropdown - on_select: btn.text = '{}'.format(args[1]) + BotButton: + on_release: + root.manager.transition = SlideTransition(direction="left") + app.root.current = 'MainScreen' + text: ' Next' - Button: - text: 'Clock-Wise' - size_hint_y: None - height: '48dp' - on_release: dropdown.select('Clock-Wise') +: + name: 'MainScreen' + + AnchorLayout: + anchor_x: 'right' + anchor_y:'bottom' + padding:10 + + BotButton: + on_release: + root.manager.transition = SlideTransition(direction="left") + app.root.current = 'PostScreen' + text: ' Next' + + AnchorLayout: + anchor_x: 'left' + anchor_y:'bottom' + padding:10 + + BotButton: + on_release: + root.manager.transition = SlideTransition(direction="right") + app.root.current = 'PrelimScreen' + text: 'Prev ' + + +: + name: 'PostScreen' + + AnchorLayout: + anchor_x: 'right' + anchor_y:'bottom' + padding:10 + + BotButton: + on_release: + root.manager.transition = SlideTransition(direction="left") + app.root.current = 'FinalScreen' + text: ' Next' + + + + AnchorLayout: + anchor_x: 'left' + anchor_y:'bottom' + padding:10 + + BotButton: + on_release: + root.manager.transition = SlideTransition(direction="right") + app.root.current = 'MainScreen' + text: 'Prev ' + +: + name: 'FinalScreen' + + + AnchorLayout: + anchor_x: 'left' + anchor_y:'bottom' + padding:10 + + BotButton: + on_release: + root.manager.transition = SlideTransition(direction="right") + app.root.current = 'PostScreen' + text: 'Prev ' - Button: - text: 'Counter Clock-Wise' - size_hint_y: None - height: '48dp' - on_release: dropdown.select('Counter Clock-Wise') diff --git a/Python Ver/main.py b/Python Ver/main.py index 3a168df..e8708e5 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -4,9 +4,10 @@ from kivy.app import App from kivy.uix.boxlayout import BoxLayout -from kivy.uix.dropdown import DropDown -from kivy.uix.button import Button from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition +from kivy.lang.builder import Builder + +#Classes class PrelimScreen(Screen): #Ask for rotatin sense and radius @@ -24,30 +25,17 @@ class FinalScreen(Screen): #Progress bar, furteher how to, credits profile plot pass - -class MainLayout(BoxLayout): +class ScrMgt(ScreenManager): pass - - # Function called when equals is pressed -# def calculate(self, calculation): -# if calculation: -# try: - # Solve formula and display it in entry - # which is pointed at by display -# self.see.text = str(eval(calculation)) -# except Exception: -# self.see.text = "Error" - class CustomDropDown(BoxLayout): pass - - +MasterLayout = Builder.load_file("CPCG.kv") class CPCGApp(App): def build(self): - return MainLayout() + return MasterLayout App = CPCGApp() From eb3cfe6cf91b6ab3d12dfca397f768d709af2f69 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Sun, 17 Sep 2017 13:48:08 +0530 Subject: [PATCH 03/23] mainscreen widget initial stage working --- Python Ver/.idea/workspace.xml | 92 ++++++++------ Python Ver/CPCG.kv | 215 ++++++++++++++++++++++++++++++++- Python Ver/main.py | 3 + 3 files changed, 269 insertions(+), 41 deletions(-) diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml index e0a1153..6922425 100644 --- a/Python Ver/.idea/workspace.xml +++ b/Python Ver/.idea/workspace.xml @@ -14,8 +14,8 @@ - - + + @@ -24,8 +24,8 @@ - - + + @@ -44,6 +44,10 @@ calculation entry + btn + pos + an + grid @@ -63,7 +67,7 @@ - @@ -83,33 +87,33 @@ - - + + - - + + - - - + + + @@ -120,7 +124,7 @@ - + @@ -173,12 +177,12 @@ - + - + - + @@ -228,6 +232,22 @@ + + + + + + + + + + + + + + + + @@ -248,7 +268,6 @@ - @@ -256,7 +275,6 @@ - @@ -264,7 +282,6 @@ - @@ -272,7 +289,6 @@ - @@ -280,7 +296,6 @@ - @@ -288,7 +303,6 @@ - @@ -312,19 +326,10 @@ - - - - - - - - - @@ -332,14 +337,21 @@ + + + + + + + - - + + diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index d1268a7..c01870c 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -1,5 +1,195 @@ #: import SlideTransition kivy.uix.screenmanager.SlideTransition + + +: + row_default_height: '50dp' + row_force_default: True + cols:4 + + CustomDropDown: + Button: + id:btn1 + text: 'Select' + on_release: dropdown1.open(self) + size_hint_y: None + height: '48dp' + + Widget: + on_parent: dropdown1.dismiss() + + DropDown: + + id: dropdown1 + on_select: btn1.text = '{}'.format(args[1]) + + Button: + text: 'Rise' + size_hint_y: None + height: '48dp' + on_release: dropdown1.select('Rise') + + Button: + text: 'Dwell' + size_hint_y: None + height: '48dp' + on_release: dropdown1.select('Dwell') + + Button: + text: 'Fall' + size_hint_y: None + height: '48dp' + on_release: dropdown1.select('Fall') + + + CustomDropDown: + Button: + id:btn2 + text: 'Select' + on_release: dropdown2.open(self) + size_hint_y: None + height: '48dp' + + Widget: + on_parent: dropdown2.dismiss() + + DropDown: + + id: dropdown2 + on_select: btn2.text = '{}'.format(args[1]) + + Button: + text: 'SHM' + size_hint_y: None + height: '48dp' + on_release: dropdown2.select('SHM') + + Button: + text: 'UARM' + size_hint_y: None + height: '48dp' + on_release: dropdown2.select('UARM') + + Button: + text: 'CYCLOIDAL' + size_hint_y: None + height: '48dp' + on_release: dropdown2.select('CYCLOIDAL') + + Button: + text: 'UV' + size_hint_y: None + height: '48dp' + on_release: dropdown2.select('UV') + + TextInput: + id:depth + font_size: 32 + + multiline: False + TextInput: + id:angle + font_size: 32 + + multiline: False + + +: + + cols:4 + row_default_height: 20 + row_force_default: True + + + + CustomDropDown: + Button: + id:btn + text: 'Select' + on_release: dropdown.open(self) + size_hint_y: None + height: '48dp' + + Widget: + on_parent: dropdown.dismiss() + + DropDown: + + id: dropdown + on_select: btn.text = '{}'.format(args[1]) + + Button: + text: 'Rise' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Rise') + + Button: + text: 'Dwell' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Dwell') + + Button: + text: 'Fall' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('Fall') + + CustomDropDown: + Button: + id:btn + text: 'Select' + on_release: dropdown.open(self) + size_hint_y: None + height: '48dp' + + Widget: + on_parent: dropdown.dismiss() + + DropDown: + + id: dropdown + on_select: btn.text = '{}'.format(args[1]) + + Button: + text: 'SHM' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('SHM') + + Button: + text: 'UARM' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('UARM') + + Button: + text: 'CYCLOIDAL' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('CYCLOIDAL') + + Button: + text: 'UV' + size_hint_y: None + height: '48dp' + on_release: dropdown.select('UV') + + + + TextInput: + id:depth + font_size: 32 + multiline: False + + TextInput: + id:angle + font_size: 32 + multiline: False + + + : size_hint_y: 0.1 size_hint_x: 0.5 @@ -47,7 +237,7 @@ ScrMgt: CustomDropDown: Button: id: btn - text: 'Press' + text: 'Select' on_release: dropdown.open(self) size_hint_y: None height: '48dp' @@ -85,6 +275,29 @@ ScrMgt: : name: 'MainScreen' + BoxLayout: + orientation: 'vertical' + padding: 10 + spacing: 10 + + RelativeLayout: + + BoxLayout: + size_hint: 1, 0.4 + pos_hint: {'center_x': 0.5, 'center_y': 0.5} + orientation: 'vertical' + + on_parent: + if not self.children: \ + [self.add_widget(CustWidget()) for i in range(1, 3)] + + + CustWidget: + + CustWidget: + CustWidget: + + AnchorLayout: anchor_x: 'right' diff --git a/Python Ver/main.py b/Python Ver/main.py index e8708e5..8817be3 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -31,6 +31,9 @@ class ScrMgt(ScreenManager): class CustomDropDown(BoxLayout): pass +class CustomDropDown1(BoxLayout): + pass + MasterLayout = Builder.load_file("CPCG.kv") class CPCGApp(App): From 95b3a345ccba8818954dea3ebce308fab2841e4a Mon Sep 17 00:00:00 2001 From: nauaneed Date: Sun, 17 Sep 2017 21:03:54 +0530 Subject: [PATCH 04/23] main screen working, partially --- Python Ver/.idea/workspace.xml | 222 ++++++++++++++++++++++++++++----- Python Ver/CPCG.kv | 122 ++---------------- Python Ver/main.py | 49 ++++++-- 3 files changed, 240 insertions(+), 153 deletions(-) diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml index 6922425..5759ef0 100644 --- a/Python Ver/.idea/workspace.xml +++ b/Python Ver/.idea/workspace.xml @@ -11,26 +11,38 @@ - + - - + + - + - - + + + + + + + + + + + + + + @@ -48,6 +60,7 @@ pos an grid + custW @@ -61,13 +74,17 @@ - @@ -110,11 +127,6 @@ - - - - - + + @@ -146,22 +183,11 @@ - - - + @@ -178,7 +204,7 @@ - + - + - + - + - + - - - - + + + + - - - - + + + + @@ -303,11 +329,11 @@ - + - + - + @@ -350,7 +376,33 @@ - @@ -361,9 +413,7 @@ - - - + @@ -372,9 +422,6 @@ - - - @@ -383,15 +430,15 @@ - - - - - - - - - + + + + + + + + + @@ -402,9 +449,7 @@ - - - + @@ -413,9 +458,6 @@ - - - @@ -424,15 +466,15 @@ - - - - - - - - - + + + + + + + + + @@ -443,9 +485,7 @@ - - - + @@ -455,15 +495,15 @@ - - - - - - - - - + + + + + + + + + @@ -474,9 +514,7 @@ - - - + @@ -486,15 +524,15 @@ - - - - - - - - - + + + + + + + + + @@ -553,27 +591,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -581,21 +598,10 @@ - - - - - - - - - - - @@ -603,9 +609,6 @@ - - - @@ -613,9 +616,6 @@ - - - @@ -623,17 +623,6 @@ - - - - - - - - - - - @@ -641,7 +630,6 @@ - @@ -649,15 +637,13 @@ - - + - @@ -665,15 +651,13 @@ - - + - @@ -681,61 +665,161 @@ - + + + + + + + + + + + + + + - - - + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - - - + diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index 055a27f..8c26b7d 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -3,7 +3,14 @@ #region CustWidget StyleSheet -: + @@ -495,15 +562,15 @@ - - - - - - - - - + + + + + + + + + @@ -512,10 +579,7 @@ - - - - + @@ -524,15 +588,15 @@ - - - - - - - - - + + + + + + + + + @@ -598,13 +662,6 @@ - - - - - - - @@ -729,7 +786,6 @@ - @@ -737,90 +793,119 @@ - - + - + - + - - + + + + + + + + + - + - + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + - + - - + + - - + + - - - - - - - - - + + + + + + + + + - + - - + + - - - - - - + + + diff --git a/Python Ver/main.py b/Python Ver/main.py index 1403e75..4cd429b 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -16,6 +16,8 @@ from kivy.uix.gridlayout import GridLayout from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition from kivy.uix.scrollview import ScrollView +from kivy.uix.widget import Widget + #endregion @@ -75,26 +77,22 @@ class MainWidgetWrapper(GridLayout): def __init__(self,**kwargs): super(MainWidgetWrapper,self).__init__(**kwargs) - - def callback(instance): - print('The button <%s> is being pressed' % instance.id) - if instance.text=="+": - instance.text = 'Inactive' - instance.font_size = 15 - i=int(instance.id[10:]) - i+=1 - - - self.add_widget(MainWidget(id='custwid'+str(i))) - btn = Button(id='plusbutton'+str(i), text='+', height='52dp', size_hint=(0.07, None)) - self.add_widget(btn) - btn.bind(on_press=callback) - - i=1 - self.add_widget(MainWidget(id='custwid'+str(i))) - btn = Button(id='plusbutton'+str(i), text='+', height='52dp', size_hint=(0.07, None)) - self.add_widget(btn) - btn.bind(on_press=callback) + self.add_widget(MainWidget(id='mainwid1')) + self.btn = Button(id='plusbutton1', text='+', height='52dp', size_hint=(0.07, None)) + self.add_widget(self.btn) + self.btn.bind(on_press=self.addonemore) + + def addonemore(self,instance): + i = int(instance.id[10:]) + i+=1 + print('The button <%s> is being pressed' % instance.id) + fillerwidget = Widget(height='52dp', size_hint=(0.07, None)) + self.remove_widget(self.btn) + self.add_widget(fillerwidget) + self.add_widget(MainWidget(id='mainwid'+str(i))) + self.btn.id='plusbutton'+str(i) + self.add_widget(self.btn) + self.btn.bind(on_press=self.addonemore) class CPCGeApp(App): def build(self): From a53c95d466d5f5b3474a02a023a74ddacc9d25cf Mon Sep 17 00:00:00 2001 From: nauaneed Date: Fri, 22 Sep 2017 00:14:10 +0530 Subject: [PATCH 08/23] SeqArray Implementation Working --- Python Ver/.idea/workspace.xml | 427 +++++++++++++++++---------------- Python Ver/CPCG.kv | 49 +++- Python Ver/main.py | 35 ++- 3 files changed, 286 insertions(+), 225 deletions(-) diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml index 5175e0d..62220da 100644 --- a/Python Ver/.idea/workspace.xml +++ b/Python Ver/.idea/workspace.xml @@ -11,76 +11,82 @@ - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - + + + - - + + - - - - - + + + - - + + - - - - - + + + @@ -88,31 +94,31 @@ - - + + - - + + - - - - - + + + - - + + - + + + @@ -139,7 +145,12 @@ win pos_ calculator + buil + root.parent.feed + + root.feed + @@ -321,7 +333,7 @@ - + - + - + - - - - + + + + - - - - + + + + @@ -441,18 +453,17 @@ - - - + + - + @@ -511,70 +522,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -588,15 +540,15 @@ - - - - - - - - - + + + + + + + + + @@ -655,27 +607,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -683,13 +614,6 @@ - - - - - - - @@ -796,45 +720,86 @@ - + + + + + + + + + + + + + + + + + - + - + - - + + + + + + + + + + + + + + + - - + + - + - + - + + + - + + + + + + + + + + + - - + + @@ -842,72 +807,114 @@ - + - + - - + + - + - + - - + + - + - - + + - + + + + + + + + + - - + + - - - - - - - - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index 8c26b7d..abc7743 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -36,19 +36,27 @@ text: 'Rise' size_hint_y: None height: '48dp' - on_release: dropdown1.select('Rise') + on_release: + dropdown1.select('Rise') + root.feed(root.id[7:],1,self.text) + Button: text: 'Dwell' size_hint_y: None height: '48dp' - on_release: dropdown1.select('Dwell') + on_release: + dropdown1.select('Dwell') + root.feed(root.id[7:],1,self.text) + Button: text: 'Fall' size_hint_y: None height: '48dp' - on_release: dropdown1.select('Fall') + on_release: + dropdown1.select('Fall') + root.feed(root.id[7:],1,self.text) CustomDropDown: @@ -71,36 +79,55 @@ text: 'SHM' size_hint_y: None height: '48dp' - on_release: dropdown2.select('SHM') + on_release: + dropdown2.select('SHM') + root.feed(root.id[7:],2,self.text) Button: text: 'UARM' size_hint_y: None height: '48dp' - on_release: dropdown2.select('UARM') + on_release: + dropdown2.select('UARM') + root.feed(root.id[7:],2,self.text) Button: text: 'CYCLOIDAL' size_hint_y: None height: '48dp' - on_release: dropdown2.select('CYCLOIDAL') + on_release: + dropdown2.select('CYCLOIDAL') + root.feed(root.id[7:],2,self.text) + Button: text: 'UV' size_hint_y: None height: '48dp' - on_release: dropdown2.select('UV') + on_release: + dropdown2.select('UV') + root.feed(root.id[7:],2,self.text) TextInput: id:depth - font_size: 32 - + font_size: 20 multiline: False + padding_y: (self.height-self.font_size)/2 + padding_x: self.width/2 # initial padding + on_text: + root.feed(root.id[7:],4,self.text) + root.update_padding(args[0]) + TextInput: id:angle - font_size: 32 - + font_size: 20 multiline: False + padding_y: (self.height-self.font_size)/2 + padding_x: self.width/2 # initial padding + on_text: + root.feed(root.id[7:],4,self.text) + root.update_padding(args[0]) + #endregion#end of MainWidget StyleSheet : diff --git a/Python Ver/main.py b/Python Ver/main.py index 4cd429b..34e34b6 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -2,7 +2,7 @@ #region Imports - +import numpy as np kivy.require("1.9.0") from kivy.uix.stacklayout import StackLayout from kivy.app import App @@ -42,6 +42,11 @@ def set_radius(self,array): Cam = MyCam() Cam.set_rotationSense('CW') +global SeqArray +SeqArray=np.array([['first', 0, 0, 0], +[0, 0, 0,0]]) + + @@ -49,7 +54,24 @@ class CustomDropDown(BoxLayout): pass class MainWidget(GridLayout): - pass + def feed(self,row,col,data): + global SeqArray + row=int(row) + col=int(col) + if row>(SeqArray.size/4): + newrow=np.array(['first',0, 0, 0]) + SeqArray=np.vstack((SeqArray,newrow)) + SeqArray[(row-1),(col-1)]=data + print(SeqArray) + + def update_padding(self, text_input, *args): + text_width = text_input._get_text_width( + text_input.text, + text_input.tab_width, + text_input._label_cached + ) + text_input.padding_x = (text_input.width - text_width)/2 + #region Screen Classes class PrelimScreen(Screen): @@ -57,8 +79,9 @@ class PrelimScreen(Screen): pass class MainScreen(Screen): -#Ask for motions and other parameters - pass + def feed(self,instance): + print ('He') + class PostScreen(Screen): #Ask for Output file location @@ -94,6 +117,10 @@ def addonemore(self,instance): self.add_widget(self.btn) self.btn.bind(on_press=self.addonemore) + + + + class CPCGeApp(App): def build(self): return Builder.load_file("CPCG.kv") From 863c5bfaa7c21946bb06b6b5a56f2c63ebd7e9e6 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Fri, 22 Sep 2017 11:49:17 +0530 Subject: [PATCH 09/23] prelim screen buttons working --- Python Ver/.idea/workspace.xml | 236 +++++++++++++-------------------- Python Ver/CPCG.kv | 17 ++- Python Ver/main.py | 30 ++++- 3 files changed, 129 insertions(+), 154 deletions(-) diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml index 62220da..89dce05 100644 --- a/Python Ver/.idea/workspace.xml +++ b/Python Ver/.idea/workspace.xml @@ -14,9 +14,13 @@ - - - + + + + + + + @@ -24,18 +28,18 @@ - - + + - - - - - - - - - + + + + + + + + + @@ -44,7 +48,7 @@ - + @@ -54,7 +58,7 @@ - + @@ -64,7 +68,7 @@ - + @@ -74,8 +78,8 @@ - - + + @@ -84,7 +88,7 @@ - + @@ -101,16 +105,6 @@ - - - - - - - - - - @@ -220,6 +214,17 @@ + + + + + + + + + - - @@ -453,13 +387,14 @@ + - + @@ -514,6 +449,11 @@ 3 @@ -531,7 +471,11 @@ - + + + + + @@ -540,15 +484,15 @@ - - - - - - - - - + + + + + + + + + @@ -670,13 +614,6 @@ - - - - - - - @@ -724,7 +661,6 @@ - @@ -826,7 +762,7 @@ - + @@ -834,7 +770,7 @@ - + @@ -842,7 +778,7 @@ - + @@ -868,50 +804,62 @@ - + + + + + + + + + - - + + - + - - + + - - - + + + + + + + - - + + - - - - - - - - - + + + + + + + + + diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index abc7743..e4f2794 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -114,8 +114,9 @@ multiline: False padding_y: (self.height-self.font_size)/2 padding_x: self.width/2 # initial padding + input_filter: 'float' on_text: - root.feed(root.id[7:],4,self.text) + root.feed(root.id[7:],3,self.text) root.update_padding(args[0]) TextInput: @@ -124,6 +125,7 @@ multiline: False padding_y: (self.height-self.font_size)/2 padding_x: self.width/2 # initial padding + input_filter: 'float' on_text: root.feed(root.id[7:],4,self.text) root.update_padding(args[0]) @@ -162,6 +164,11 @@ ScrMgt: id:radius font_size: 32 multiline: False + padding_x: self.width/2 # initial padding + input_filter: 'float' + on_text: + root.update_padding(args[0]) + root.assign_rad(self.text) RelativeLayout: @@ -194,13 +201,17 @@ ScrMgt: text: 'Clock-Wise' size_hint_y: None height: '48dp' - on_release: dropdown.select('Clock-Wise') + on_release: + dropdown.select('Clock-Wise') + root.assign_rot('CW') Button: text: 'Counter Clock-Wise' size_hint_y: None height: '48dp' - on_release: dropdown.select('Counter Clock-Wise') + on_release: + dropdown.select('Counter Clock-Wise') + root.assign_rot('CCW') AnchorLayout: anchor_x: 'right' diff --git a/Python Ver/main.py b/Python Ver/main.py index 34e34b6..788438d 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -33,14 +33,14 @@ def set_rotationSense(self,rot): self.rotationSense = rot def set_radius(self,rad): - self.rotationSense = rad + self.radius = rad - def set_radius(self,array): + def set_SeqArray(self,array): self.seqArray=array global Cam Cam = MyCam() -Cam.set_rotationSense('CW') + global SeqArray SeqArray=np.array([['first', 0, 0, 0], @@ -75,12 +75,28 @@ def update_padding(self, text_input, *args): #region Screen Classes class PrelimScreen(Screen): -#Ask for rotatin sense and radius - pass + def assign_rad(self,rad): + global Cam + Cam.set_radius(rad) + print (Cam.radius) + + + + def assign_rot(self,rot_sens): + global Cam + Cam.set_rotationSense(rot_sens) + print (Cam.rotationSense) + + def update_padding(self, text_input, *args): + text_width = text_input._get_text_width( + text_input.text, + text_input.tab_width, + text_input._label_cached + ) + text_input.padding_x = (text_input.width - text_width)/2 class MainScreen(Screen): - def feed(self,instance): - print ('He') + pass class PostScreen(Screen): From 05714056150ffcfe5ec46b83a00ed28ce60199f7 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Sat, 23 Sep 2017 13:33:38 +0530 Subject: [PATCH 10/23] moved MyCam class defnition into separate file, added methods, not verified all working --- Matlab Ver/CamProfileCoordinateGenerator.prj | 138 ------- Matlab Ver/Coordinates.xlsx | Bin 18935 -> 0 bytes Python Ver/.idea/workspace.xml | 376 ++++++++----------- Python Ver/CPCG.kv | 1 + Python Ver/MyCam.py | 151 ++++++++ Python Ver/main.py | 36 +- 6 files changed, 317 insertions(+), 385 deletions(-) delete mode 100644 Matlab Ver/CamProfileCoordinateGenerator.prj delete mode 100644 Matlab Ver/Coordinates.xlsx create mode 100644 Python Ver/MyCam.py diff --git a/Matlab Ver/CamProfileCoordinateGenerator.prj b/Matlab Ver/CamProfileCoordinateGenerator.prj deleted file mode 100644 index 22abab1..0000000 --- a/Matlab Ver/CamProfileCoordinateGenerator.prj +++ /dev/null @@ -1,138 +0,0 @@ - - - CamProfileCoordinateGenerator - - - 1.0 - Navaneet|Prabin - nauaneed@gmail.com - Project Cams - Generate Cam Profile Coordinates - This application generates using the given parameters, which can then be used to create cam profiles in CATIA - ${PROJECT_ROOT}\SplashScreen.jpg - - - \Project Cams\CamProfileCoordinateGenerator\ - option.installpath.programfiles - ${PROJECT_ROOT}\cam200_0.jpg - Welcome - ${PROJECT_ROOT}\CamProfileCoordinateGenerator\for_testing - ${PROJECT_ROOT}\CamProfileCoordinateGenerator\for_redistribution_files_only - ${PROJECT_ROOT}\CamProfileCoordinateGenerator\for_redistribution - false - - true - subtarget.standalone - - - 35000 - 35010 - 35001 - - true - false - false - MyAppInstaller_web - MyAppInstaller_mcr - MyAppInstaller_app - true - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${PROJECT_ROOT}\Gui.m - - - ${PROJECT_ROOT}\abrupt_fall.m - ${PROJECT_ROOT}\dwell.m - ${PROJECT_ROOT}\fall_cycloidal.m - ${PROJECT_ROOT}\fall_shm.m - ${PROJECT_ROOT}\fall_uarm.m - ${PROJECT_ROOT}\fall_uv.m - ${PROJECT_ROOT}\Gui.fig - ${PROJECT_ROOT}\master.m - ${PROJECT_ROOT}\rise_cycloidal.m - ${PROJECT_ROOT}\rise_shm.m - ${PROJECT_ROOT}\rise_uarm.m - ${PROJECT_ROOT}\rise_uv.m - - - ${PROJECT_ROOT}\Template.xlsx - - - E:\Matlab Workspace\Project Cams\GUI\CamProfileCoordinateGenerator\for_testing\CamProfileCoordinateGenerator.exe - E:\Matlab Workspace\Project Cams\GUI\CamProfileCoordinateGenerator\for_testing\splash.png - E:\Matlab Workspace\Project Cams\GUI\CamProfileCoordinateGenerator\for_testing\readme.txt - - - - E:\Matlab 2015a - - - - - - - - - true - - - - - true - - - - - true - - - - - true - - - - - false - false - true - false - false - false - false - false - 6.2 - false - true - win64 - true - - - \ No newline at end of file diff --git a/Matlab Ver/Coordinates.xlsx b/Matlab Ver/Coordinates.xlsx deleted file mode 100644 index d31e5052b0919bdcae3b223e23f952f45f3035a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18935 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 r(a$kA4;q; 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 - - + + - - - + + + + + + - - + + - - + + - - - - - - - - - + - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - + + + + + + + + + @@ -141,6 +114,7 @@ calculator buil root.parent.feed + / root.feed @@ -171,14 +145,17 @@ - - @@ -374,8 +391,8 @@ - - + + @@ -398,9 +415,9 @@ - + - + @@ -409,7 +426,7 @@ - + @@ -419,26 +436,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -680,13 +682,6 @@ - - - - - - - @@ -734,17 +729,6 @@ - - - - - - - - - - - @@ -752,23 +736,12 @@ - - - - - - - - - - - - + @@ -776,7 +749,7 @@ - + @@ -784,7 +757,7 @@ - + @@ -792,7 +765,7 @@ - + @@ -800,7 +773,7 @@ - + @@ -808,42 +781,73 @@ - - + + - + - - + + - - - - - + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index bce5ca9..7019770 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -3,8 +3,41 @@ #region CustWidget StyleSheet - - - - - - - - @@ -729,7 +692,6 @@ - @@ -737,9 +699,6 @@ - - - @@ -747,9 +706,6 @@ - - - @@ -757,9 +713,6 @@ - - - @@ -767,7 +720,6 @@ - @@ -775,7 +727,6 @@ - @@ -783,9 +734,6 @@ - - - @@ -797,68 +745,68 @@ - + - - - - - + + + - + - - + + - + - - - + + + + + - + - - + + - + - - + + - + - - + + - - + + - - + + @@ -867,5 +815,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Python Ver/MyCam.py b/Python Ver/MyCam.py index c32f45a..3273033 100644 --- a/Python Ver/MyCam.py +++ b/Python Ver/MyCam.py @@ -26,7 +26,7 @@ def set_SeqArray(self,array): def execute_SHM(self,startangle, stopangle, displacement): k = float(self.currentRadius) - for i in range(startangle+1,stopangle): + for i in range(startangle+1,stopangle+1): deltatheta=i-startangle theta=startangle+deltatheta kdash = (displacement / 2) * (1 - (math.cos(math.radians((180 / (stopangle - startangle)) * deltatheta)))) @@ -44,7 +44,7 @@ def execute_SHM(self,startangle, stopangle, displacement): def execute_UV(self,startangle, stopangle, displacement): k = float(self.currentRadius) - for i in range(startangle+1,stopangle): + for i in range(startangle+1,stopangle+1): deltatheta=i-startangle theta=startangle+deltatheta kdash = (displacement / (stopangle - startangle)) * deltatheta; #not checked @@ -60,7 +60,7 @@ def execute_UV(self,startangle, stopangle, displacement): def execute_UARM(self,startangle, stopangle, displacement): k = float(self.currentRadius) - for i in range(startangle+1,stopangle): + for i in range(startangle+1,stopangle+1): deltatheta=i-startangle theta=startangle+deltatheta if (deltatheta <= ((stopangle - startangle) / 2)): @@ -79,7 +79,7 @@ def execute_UARM(self,startangle, stopangle, displacement): def execute_cycloidal(self, startangle, stopangle, displacement): k = float(self.currentRadius) - for i in range(startangle + 1, stopangle): + for i in range(startangle + 1, stopangle+1): deltatheta = i - startangle theta = startangle + deltatheta kdash = (displacement / math.pi) * ((math.pi * i / (startangle - stopangle)) - (0.5 * math.sin(math.radians(360 * deltatheta / (startangle - stopangle))))) #not checked @@ -94,7 +94,7 @@ def execute_cycloidal(self, startangle, stopangle, displacement): def execute_dwell(self, startangle, stopangle): k = float(self.currentRadius) - for i in range(startangle + 1, stopangle): + for i in range(startangle + 1, stopangle+1): deltatheta = i - startangle theta = startangle + deltatheta if self.rotationSense == 'CW': @@ -115,7 +115,7 @@ def master_executor(self): - for i in range(1,rows): + for i in range(1,rows+1): stopangle = startangle + int(myseqarray[i - 1, 3]) if myseqarray[i-1,0]=='Dwell': @@ -125,19 +125,19 @@ def master_executor(self): else: if myseqarray[i - 1, 0] == 'Rise': displacement = int(myseqarray[i - 1, 2]) - if myseqarray[i - 1, 0] == 'Fall': + elif myseqarray[i - 1, 0] == 'Fall': displacement = -int(myseqarray[i - 1, 2]) if myseqarray[i-1,1]=='UV': self.execute_UV(startangle, stopangle, displacement) - if myseqarray[i-1,1]=='SHM': + elif myseqarray[i-1,1]=='SHM': self.execute_SHM(startangle, stopangle, displacement) - if myseqarray[i - 1, 1] == 'UARM': + elif myseqarray[i - 1, 1] == 'UARM': self.execute_UARM(startangle, stopangle, displacement) - if myseqarray[i - 1, 1] == 'CYCLOIDAL': + elif myseqarray[i - 1, 1] == 'CYCLO': self.execute_SHM(startangle, stopangle, displacement) From 888d5ac3b1015098660fa1efe0836acada2dd684 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Mon, 21 May 2018 15:33:39 +0530 Subject: [PATCH 17/23] minor improvements --- Python Ver/.idea/workspace.xml | 60 +++++++++++++++++----------------- Python Ver/CPCG.kv | 18 ++++++++++ Python Ver/main.py | 7 ++-- 3 files changed, 52 insertions(+), 33 deletions(-) diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml index e14d0d1..8e7427b 100644 --- a/Python Ver/.idea/workspace.xml +++ b/Python Ver/.idea/workspace.xml @@ -11,25 +11,25 @@ - + - - + + - - - + + + - + - - + + @@ -40,8 +40,8 @@ - - + + @@ -78,9 +78,6 @@ - custW - ma - win pos_ calculator buil @@ -108,6 +105,9 @@ op browC:/Users/Navaneet/Desktop/fgdf mys + padd + upda + seq root.feed @@ -145,9 +145,9 @@ @@ -220,7 +220,7 @@ - + @@ -377,12 +377,12 @@ - + - + @@ -797,30 +797,30 @@ - - + + - + - - + + - - - + - + - - + + - + + + diff --git a/Python Ver/CPCG.kv b/Python Ver/CPCG.kv index c17a43f..f4cf603 100644 --- a/Python Ver/CPCG.kv +++ b/Python Ver/CPCG.kv @@ -439,6 +439,24 @@ ScrMgt: : name: 'FinalScreen' + BoxLayout: + size_hint: 0.4, 0.5 + orientation: 'vertical' + pos_hint: {'center_x': 0.5, 'center_y': 0.65} + Label: + text: 'Coordinates Generated!' + font_size:32 + Label: + text: 'Further steps to import these into CATIA is explained in this youtube video:' + font_size: 20 + + BoxLayout: + size_hint: 0.68, 0.24 + pos_hint: {'center_x': 0.5, 'center_y':0.5} + TextInput: + + text: ' https://youtu.be/nP_gErfA5IQ ' + AnchorLayout: diff --git a/Python Ver/main.py b/Python Ver/main.py index dd9723d..798c1a2 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -37,10 +37,11 @@ global Cam Cam = MyCam() Cam.op_file_format='txt' +Cam.path='cord.txt' global SeqArray -SeqArray=np.array([['first', 0, 0, 0], -[0, 0, 0,0]]) +SeqArray=np.array([['dwell', 'SHM', 0, 0], +['dwell', 'SHM', 0, 0]]) class CustomDropDown(BoxLayout): pass @@ -139,7 +140,7 @@ def show_save(self): options['initialfile'] = None options['title'] = None Cam.path= str(filedialog.asksaveasfilename(**options)) - print(Cam.path) + def checkbox_txt_selected(self,instance,value): From e18e62ebf13d34a70291d6f5d734bd731850c921 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Wed, 23 May 2018 12:23:22 +0530 Subject: [PATCH 18/23] final commit before beta release --- Python Ver/.idea/workspace.xml | 86 ++++++++++++++-------------------- Python Ver/CPCG.kv | 11 +++-- Python Ver/main.py | 8 ++-- 3 files changed, 47 insertions(+), 58 deletions(-) diff --git a/Python Ver/.idea/workspace.xml b/Python Ver/.idea/workspace.xml index 8e7427b..bf512ff 100644 --- a/Python Ver/.idea/workspace.xml +++ b/Python Ver/.idea/workspace.xml @@ -14,12 +14,12 @@ - - + + - + @@ -28,8 +28,8 @@ - - + + @@ -40,8 +40,8 @@ - - + + @@ -50,7 +50,7 @@ - + @@ -60,7 +60,7 @@ - + @@ -146,12 +146,12 @@ - + - - - - - - - - - - - - - - - - - - - - - 1505478971128 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Python Ver/Calc Ex/calculator.kv b/Python Ver/Calc Ex/calculator.kv deleted file mode 100644 index 4995594..0000000 --- a/Python Ver/Calc Ex/calculator.kv +++ /dev/null @@ -1,83 +0,0 @@ -# Custom button -: - font_size: 32 - -# Define id so I can refer to the CalcGridLayout -# class functions -# Display points to the entry widget -: - id: calculator - see: bentry - rows: 5 - padding: 10 - spacing: 10 - - # Where input is displayed - BoxLayout: - TextInput: - id: bentry - font_size: 32 - multiline: False - - # When buttons are pressed update the bentry - BoxLayout: - spacing: 10 - CustButton: - text: "7" - on_press: bentry.text += self.text - CustButton: - text: "8" - on_press: bentry.text += self.text - CustButton: - text: "9" - on_press: bentry.text += self.text - CustButton: - text: "+" - on_press: bentry.text += self.text - - BoxLayout: - spacing: 10 - CustButton: - text: "4" - on_press: bentry.text += self.text - CustButton: - text: "5" - on_press: bentry.text += self.text - CustButton: - text: "6" - on_press: bentry.text += self.text - CustButton: - text: "-" - on_press: bentry.text += self.text - - BoxLayout: - spacing: 10 - CustButton: - text: "1" - on_press: bentry.text += self.text - CustButton: - text: "2" - on_press: bentry.text += self.text - CustButton: - text: "3" - on_press: bentry.text += self.text - CustButton: - text: "*" - on_press: bentry.text += self.text - - # When equals is pressed pass text in the bentry - # to the calculate function - BoxLayout: - spacing: 10 - CustButton: - text: "AC" - on_press: bentry.text = "" - CustButton: - text: "0" - on_press: bentry.text += self.text - CustButton: - text: "=" - on_press: calculator.calculate(bentry.text) - CustButton: - text: "/" - on_press: bentry.text += self.text \ No newline at end of file diff --git a/Python Ver/Calc Ex/main.py b/Python Ver/Calc Ex/main.py deleted file mode 100644 index a946edb..0000000 --- a/Python Ver/Calc Ex/main.py +++ /dev/null @@ -1,27 +0,0 @@ -import kivy - -kivy.require("1.9.0") - -from kivy.app import App -from kivy.uix.gridlayout import GridLayout - - -class CalcGridLayout(GridLayout): - # Function called when equals is pressed - def calculate(self, calculation): - if calculation: - try: - # Solve formula and display it in entry - # which is pointed at by display - self.see.text = str(eval(calculation)) - except Exception: - self.see.text = "Error" - - -class CalculatorApp(App): - def build(self): - return CalcGridLayout() - - -calcApp = CalculatorApp() -calcApp.run() diff --git a/Python Ver/main.py b/Python Ver/main.py index 14ec6a6..8fc08e3 100644 --- a/Python Ver/main.py +++ b/Python Ver/main.py @@ -192,9 +192,9 @@ def addonemore(self,instance): self.add_widget(self.btn) self.btn.bind(on_press=self.addonemore) -class CPCGeApp(App): +class CPCGApp(App): def build(self): return Builder.load_file("CPCG.kv") -App = CPCGeApp() +App = CPCGApp() App.run() From ab70d5cedc3249b0a52e3aaaaafd501b061fc728 Mon Sep 17 00:00:00 2001 From: nauaneed Date: Wed, 23 May 2018 12:46:07 +0530 Subject: [PATCH 20/23] added icons --- Python Ver/winicon.ico | Bin 0 -> 59198 bytes Python Ver/winicon.png | Bin 0 -> 3912 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Python Ver/winicon.ico create mode 100644 Python Ver/winicon.png diff --git a/Python Ver/winicon.ico b/Python Ver/winicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c4b0ac1ed3f4c406056f141e2f3081b955d1042e GIT binary patch literal 59198 zcmeI536LE{8OJ->#7&5hKp+qTY(OkI1QJY{6P8c{B`Q{`5KU1CcmRq5iwH!^11tpuffbNL1Qx=vz_QQZf8O+CUhlkP-oAY^yXjZ; zOHWT$pZ3F7>-Zr%Fj>(_618*&LznJeI} zgyo{`^rvjJo?4IJ?}zL!P<9!-l(3F2@~?+EFal=5^}KQouG`$?h5zATkv_%xl%<6=WRa1^Pm@Ua3_p|LcUT5$^%p2-=MPMUHBSQ zlp)M>HlZzR!`nI6tn_lfu>AQkS4}`nP+A&*F1p#x&9sX^`ytDOLb0%`ypxhYV)h^{>&AX+8M~YE44is(g#vM zuV7oPf%VqId(CrN)K*XwW}oCbTqFbIaT z{?RdLo!JLYg4M7Eo`r7cWxcU&_7GQne}^@2CTQK-8G^bB6*~tuoltAlj&K0=9(Ub! zYrnmG`SP{I&wvx56(&KjrV%GO4YCH zt5zsiRcxBdfUiGRJ0|eCfz(fYvs`eQX47t3P1mrT$+hH6uNa#%Je^k`$CdQe zpY#{0e+}pv(}y6x9`G;6AAu#H=SfNL6UxaX-+CHW!fY4?eXjMxbHfQ+;2Ur=XkL5= z%GK|tslAs$_ZXW&bNiuC)ZaqKodfa(vJs93*=Ig11s=|AcnJOrZ*cFScHRX&w|gGc z-YswzsGpM{wy#c;Wuw$#<0B}CiS@q4fU0{zrm23s%Tr=iq6o9>}? zFJ15Et<5J;_dVeD-Nxk)OVqxo*U#2RxDa~4wig#ZMf!eFujXyvrPqH{XxqvY=%8K# zs4uV^{0nRw<-(QZt5@^3|Gs^%|83I$N(`i7oNtDfc4OMQOj9mrT64K)a=F|+A?<`l zwB>pOT5~<*DTkg@=v~p5q41ny-@eZ&xaKi1l6RS>5Z=pk16{|v*MM1xOEx__UjQRP z*JdM-c_HYzLssOhB!^@@9h#8)6hhszRVtIUbjd8)?;3=%TV39b>}lSsTRCbCvpiO7 z?UOGz_~rs{GjFrO=mUd!?$^7W^@DWn)pN-6V8S4iU*BTh37-Y~EOIdTz5M)9_zvs^ zg=d-^XZadJ&+nfEeP5|(&cQW5w={(x=ky#|&y2HV2kE;LRzS&T^y&oZAD zgJk_N=sSoL;9%Gue86 zncX~VDfb~rr4MQsz7DQj)y7|@?BS{>ji1_uGoe~}N zJ2H-{t;6T5uda&buhpy9=$)X~ak@GPE=V*+{92I>Uz9EQ{$1bm__2`<9q66+ zDc&BL@y9d0Eiz*ZKSyO_j`DW!cJMyneZc#G_W|z%-Uqx7cpvaS;C;aRfcF9K1KtO` z4|pH&KHz=8`+)ZW?*sMq0sYOl*J(C%p#PKP0dJ2?_@nk+_$f^B_DIzp+B4y4xB~Xo z_a)vQsoCQ#bg#YOPlxgL+eB}VRP3RB88Tl>IV0NQtEMAR1E z9u2dH_TbSvp?z$$PfzeiEUqoQJqFw!`nwSAXZu^w-olfh@SU!=$AIfUdM~HFrXGSe zI1q}yVUM$gA0KtMkM6H!hX>)i@Nwv~MwGHeXb}cI2Vu>2h}wvHhJ&t$+dyMZHgA-F4W@SVd_(inA3%R6tGyMgTBoD>uJ)L^ zwGZMaU@6=SFG02YR}Ln&|aeVz}cX6dQ`P~?N2`1(ckFEE|cLa@H2Q3v}Psk z$6(H{{=Ngx!LQ(3py#inp)T`MQah<#&>o`4!)@?94CQrS<3Mxuv+zf_4s;*4KMdG- zpl&_a4XDOO7ZGz?bTXg#*qEgA#5j(Gy^fFHm~puXx_sqEkESED~S z4|Nvw?;g8(tBF&`2si-F1MMNKzNk+cE1zgd~HB-`7dcR!EAeIUQO5WWPTggsz8 zsGAL_tEBGZ(yGyasXUS!G@tGbn$vy=zX4sNsn1$>bX}-SO%M53p@r|gSLWfR4>~|@A7}u8C?T9 zh+hoHLJN$7ey_#U(MON@oCb42V?fu6iEKdr0n>M_byw1Pt?AMYG{dfNIB4$v z9L$6BLG!xwZO4vm(FMPQ%ivtN0L}o-ks61sAph6C_tJmt9K`v|>DiU3R=xUi@%x5l zRWIRQmv+y~T0*-YVAW-_s*5bh)lYj^TPXDQD6xlM5<4f+V@%$tJ*u`z68W~ZyfHei z*3VsA*m%YA+nSD(^tVQPSl!2k-X8s!w+6r-vQb%^B=MJREpH{=#iYlL3HO}0M~!17 zM&D(1Nq$%NrQ#*)+17kMNq-aCqm=IB&U<^*Fh&N@99CUC%cb|JZ(H;EB>ioGJ!GpsHi@1~BJWVo8`VpR<8r=VZJM`7mGf2! z8$|V2t+O-r z@zGyD?@#&I|95n#kAqVEV|?^Sm-Q&??Gd^D&44{{m2Ax!Y0Bg6ku6{F_VD&_eIU*G zA!}{Bx=ACRHJzj>Pa67n+f1|nS!>(XO&am6=_E~g($K%#W}5xaTHCH}(uikGCuz!) zhW_0))9ioN+IDr5Mm%deNmHIQ^zXKrX8*I+wyT>o;#t#4n)0Nff49vv`=7P8UEQP+ z&zerslqU`SyKSb~|E#s`>L!hN)^w7lJZb3PZ8OdOXRU2lH)+JPrjs<~Nkji`n`!nx zYi+x_Nh6*$ounyG8v1wJOtb%4YunXL8u6^@Bu#nJ(7)Sen*Fb}?H*J3HFa?)>`%v? zHbS@vIwJ8Y9Jfc}<6`2GWPey^4M^Y7pX?F+Es91s?kbK4_KuutcG6p%cw2FNSgttU zzS3Jy(J&dwTCC#!gzN+PWGUDE-XNDKA!7T2K|3& zVf#L>a_K{@eX5JqUGC-$#*EM h&yAbVT(&+ZE(1sHr5VeO=R2IQU+F$B12jS({|A5&N$~&x literal 0 HcmV?d00001 diff --git a/Python Ver/winicon.png b/Python Ver/winicon.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cdb3393ccf3948de7de68552367cfa05b8dcaa GIT binary patch literal 3912 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 WMN_&Md~YNG0000 Date: Wed, 23 May 2018 13:24:07 +0530 Subject: [PATCH 21/23] beta release readme update --- README.md | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8494bd8..ad79d48 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,40 @@ # Cam Profile Coordinate Generator for Catia CATIA is great. But wouldn't it be even better if there was a way to automate the creation of cams in CATIA? This project aims to do just that. -Plan -1. Initial Matlab version...done -2. Python version...in progress -3. Standalone executable...queued +How to use Python Ver? +1. Download the installable from releases tab. +2. Install, launch and follow the steps. How to use Matlab Ver? 1. Fill in Template.xlsx 2. Run Gui.fig 3. Copy the generated coordinates in the coordinated.xlsx and use gsd spline technique to get it into CATIA. +Plan +1. Initial Matlab version...done +2. Python version...in progress +3. Standalone executable...done +4. Installer...done + +Pending Features +1. Support generation of cordinates for offset follower. +2. Configurable reolution or number of points per degreee. +3. Exceptions and optimisations. + +Done Using: +1. Matlab +2. Python 3.5 +3. JetBrains PyCharm +4. tkinter +5. Kivy +6. XlsxWriter +7. Numpy +8. PyInstaller +9. Excel +10. Inno Setup Compiler + + Credits 1. Prabin : Concept & Formulation -2. Navaneet: Code & UI +2. Navaneet : Code & UI From 2dfa9119c9f900eb6884ea250aa3fda13e9659d1 Mon Sep 17 00:00:00 2001 From: Navaneet Villodi <11260095+nauaneed@users.noreply.github.com> Date: Wed, 23 May 2018 13:29:38 +0530 Subject: [PATCH 22/23] Readme formatting before beta release --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ad79d48..16c4942 100644 --- a/README.md +++ b/README.md @@ -2,27 +2,32 @@ CATIA is great. But wouldn't it be even better if there was a way to automate the creation of cams in CATIA? This project aims to do just that. -How to use Python Ver? +##How to use Python Ver? 1. Download the installable from releases tab. 2. Install, launch and follow the steps. -How to use Matlab Ver? + +##How to use Matlab Ver? 1. Fill in Template.xlsx 2. Run Gui.fig 3. Copy the generated coordinates in the coordinated.xlsx and use gsd spline technique to get it into CATIA. -Plan + +##Plan 1. Initial Matlab version...done -2. Python version...in progress +2. Python version...done 3. Standalone executable...done 4. Installer...done +5. Advanced Features...pending -Pending Features + +##Pending Features 1. Support generation of cordinates for offset follower. 2. Configurable reolution or number of points per degreee. 3. Exceptions and optimisations. -Done Using: + +##Done Using: 1. Matlab 2. Python 3.5 3. JetBrains PyCharm @@ -35,6 +40,6 @@ Done Using: 10. Inno Setup Compiler -Credits +##Credits 1. Prabin : Concept & Formulation 2. Navaneet : Code & UI From 002b4c60fcb7554eff2aaec46b1a540de9bb11a8 Mon Sep 17 00:00:00 2001 From: Navaneet Villodi <11260095+nauaneed@users.noreply.github.com> Date: Wed, 23 May 2018 13:33:06 +0530 Subject: [PATCH 23/23] final formatting corrected readme before beta --- README.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 16c4942..f4e91da 100644 --- a/README.md +++ b/README.md @@ -2,18 +2,31 @@ CATIA is great. But wouldn't it be even better if there was a way to automate the creation of cams in CATIA? This project aims to do just that. -##How to use Python Ver? +## Done Using: +1. Matlab +2. Python 3.5 +3. JetBrains PyCharm +4. tkinter +5. Kivy +6. XlsxWriter +7. Numpy +8. PyInstaller +9. Excel +10. Inno Setup Compiler + + +## How to use Python Ver? 1. Download the installable from releases tab. 2. Install, launch and follow the steps. -##How to use Matlab Ver? +## How to use Matlab Ver? 1. Fill in Template.xlsx 2. Run Gui.fig 3. Copy the generated coordinates in the coordinated.xlsx and use gsd spline technique to get it into CATIA. -##Plan +## Plan 1. Initial Matlab version...done 2. Python version...done 3. Standalone executable...done @@ -21,25 +34,13 @@ CATIA is great. But wouldn't it be even better if there was a way to automate th 5. Advanced Features...pending -##Pending Features +## Pending Features 1. Support generation of cordinates for offset follower. 2. Configurable reolution or number of points per degreee. 3. Exceptions and optimisations. -##Done Using: -1. Matlab -2. Python 3.5 -3. JetBrains PyCharm -4. tkinter -5. Kivy -6. XlsxWriter -7. Numpy -8. PyInstaller -9. Excel -10. Inno Setup Compiler - -##Credits +## Credits 1. Prabin : Concept & Formulation 2. Navaneet : Code & UI