-
Notifications
You must be signed in to change notification settings - Fork 10
/
__init__.py
102 lines (76 loc) · 2.69 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# -*- coding:utf-8 -*-
import os
import bpy
from bpy.types import AddonPreferences
from bpy.props import StringProperty
from bpy.types import Operator
bl_info = {
"name": "nCNC",
"description": "CNC Controls, G code operations",
"author": "Manahter",
"version": (1, 0, 1),
"blender": (2, 91, 0),
"location": "View3D",
"category": "Generic",
"warning": "Under development. Nothing is guaranteed",
"doc_url": "https://github.com/manahter/nCNC/wiki",
"tracker_url": "https://github.com/manahter/nCNC/issues"
}
# TODO:
"""
Eklenecek Özellikler;
* Kod çizgileri görününce, included objeler görünmesin. (Vision'dan bu özellik aktifleştirilebilir olur)
* Sadece belli bir objenin yollarını (kodunu) göster/gizle özelliği ekle
* Koddaki hatalı kısımların çizgisi kırmızı olacak şekilde düzenle. Vision'a da eklenebilir
* Kod Çizgilerinin ucuna yönünü belirten bir ok koy:
https://github.com/blender/blender/blob/6c9178b183f5267e07a6c55497b6d496e468a709/release/scripts/templates_py/gizmo_custom_geometry.py
https://blender.stackexchange.com/a/148300
Yapılamayanlar;
* Kod satırları için TextEditör benzeri ayrı bir alan oluşturulabilir mi araştır.
- Özelleştirilmiş Yeni Edtör alanı oluşturulamıyor. Node Editor gib alanlar ancak oluşturulabiliyor.
"""
class NCNC_Prefs(AddonPreferences):
# This must match the addon name, use '__package__'
# when defining this in a submodule of a python package.
bl_idname = __name__
last_preset: StringProperty()
# my_icons_dir = os.path.join(os.path.dirname(__file__), "icons")
# icons = bpy.utils.previews.new()
# icons.load("my_icon", os.path.join(my_icons_dir, "auto.png"), 'IMAGE')
# row.prop( ... icon_value=icons["my_icon"].icon_id ...)
"""
Header -> _HT_
Menu -> _MT_
Operator -> _OT_
Panel -> _PT_
UIList -> _UL_
"""
from .assets.icons import icons_register, icons_unregister
icons_register()
from .import registerer
from .import head
from .import gcode
from .import machine
from .import scene
from .import vision
from .import objects
from .utils.catch import catch_stop
class NCNC_OT_Empty(Operator):
bl_idname = "ncnc.empty"
bl_label = ""
bl_description = ""
bl_options = {'REGISTER'}
def invoke(self, context, event=None):
return {"CANCELLED"}
registerer.classes.insert(0, NCNC_Prefs)
registerer.classes.insert(1, NCNC_OT_Empty)
def register():
for i in registerer.classes:
bpy.utils.register_class(i)
def unregister():
icons_unregister()
for i in registerer.classes[::-1]:
bpy.utils.unregister_class(i)
catch_stop()
if __name__ == "__main__":
register()