Вверх ↑
Этот топик читают: Гость
Ответов: 1868
Рейтинг: 619
#31: 2020-06-30 10:09:41 ЛС | профиль | цитата
Gitarist, в архиве zip упакован только sha файл. Но раз есть опасность, не рискуйте. Может файлообмен что химичит. Позже выложу (сейчас с телефона) или в тег или на файлообмен форума.
sla8a писал(а):
Gitarist, сильно сложно было найти нужную информацию?

карма: 9

0
Ответов: 5
Рейтинг: 7
#32: 2020-06-30 11:10:39 ЛС | профиль | цитата
Делаем графику на основе сплайна и забываем про сложные формулы
пример и схему в облако закинул

https://cloud.mail.ru/public/4ma8/5uJQvuXwk

Когда-то нужен был простенький редактор и вот итог.
Интерес что-то доделывать пропал. Выкладываю как есть...

Редактировалось 1 раз(а), последний 2020-06-30 11:13:53
карма: 1

0
Ответов: 67
Рейтинг: 0
#33: 2020-06-30 13:55:31 ЛС | профиль | цитата
sla8a писал(а):
sla8a писал(а):
Gitarist, сильно сложно было найти нужную информацию?

Да, сложно. Извините, что я такой тупой... Правда.
(Ведь вы этих слов от меня ждете.)

Flapiotun, Спасибо за участие в теме!
Но... Вы пробовали вставлять мой G-код из 1го поста в Вашу программу? Она же также не рисует дуги... Кроме того, она не "приподнимает шпиндель" при перемещении к другому объекту, а рисует линию как будто это путь фрезеровки.
Пример G-кода

M48
METRIC
VER,1
FMAT,2
T01C2.
DETECT,ON
ATC,ON
%
T01
G00X15.000Y253.000
M15
G01X17.000Y253.000
X17.000Y31.000
X15.000Y31.000
M16
G00X15.000Y27.000
M15
G01X17.000Y27.000
X17.000Y20.000
X165.000Y20.000
X169.000Y24.000
X169.000Y129.000
X164.000Y129.000
X164.000Y153.000
X169.000Y153.000
X169.000Y258.000
X165.000Y262.000
X17.000Y262.000
X17.000Y257.000
X15.000Y257.000
M16
G33X81.000Y186.000A27.000
G00X192.000Y195.000
M15
G01X192.000Y69.000
X324.000Y69.000
M16
G00X204.000Y195.000
M15
G01X324.000Y195.000
X324.000Y81.000
M16
G00X300.000Y222.000
M15
G01X300.000Y285.000
G03X234.000Y285.000A33.000
G01X234.000Y222.000
M16
G00X387.000Y237.000
M15
G01X387.000Y321.000
G02X339.000Y273.000A48.000
G01X339.000Y237.000
M16
M30



Редактировалось 1 раз(а), последний 2020-06-30 13:57:36
карма: 0

0
Ответов: 1868
Рейтинг: 619
#34: 2020-06-30 16:45:18 ЛС | профиль | цитата
Схема из поста выше


Add(MainForm,16297664,77,336)
{
Width=687
Height=541
Position=1
}
Add(Img_Arc,8255685,427,497)
{
Point2AsOffset=0
Size=3
Point(Point1)
Point(Point2)
Point(Point3)
Point(Point4)
Point(doDirection)
link(onDraw,15251476:doDraw,[])
link(Bitmap,11805101:getVar,[(433,479)(391,479)])
link(Point1,4619322:Var2,[])
link(Point2,7960578:Var2,[])
link(Point3,2063720:Point,[])
link(Point4,12049784:Point,[])
}
Add(PaintBox,880944,308,224)
{
Left=40
Top=110
Width=600
Height=300
Color=16777215
ClearBeforeDraw=0
link(onBeforeDraw,9230487:doCalc,[])
}
Add(Edit,5113297,77,224)
{
Left=45
Top=45
Text="100"
link(onChange,8919054:doWork2,[])
}
Add(Edit,9314071,119,238)
{
Left=120
Top=45
Text="100"
link(onChange,12839978:doWork2,[])
}
Add(Edit,6904018,161,252)
{
Left=245
Top=45
Text="200"
link(onChange,528179:doWork2,[])
}
Add(Edit,13102730,203,266)
{
Left=315
Top=45
Text="100"
link(onChange,13288155:doWork2,[])
}
Add(PointXY,2063720,455,371)
{
link(X,3300599:getVar,[])
link(Y,15005020:getVar,[])
}
Add(HubEx,8919054,280,224)
{
link(onEvent,880944:doRefresh,[])
}
Add(HubEx,12839978,280,238)
{
Angle=3
link(onEvent,8919054:doWork3,[])
}
Add(HubEx,528179,280,252)
{
Angle=3
link(onEvent,12839978:doWork3,[])
}
Add(HubEx,13288155,280,266)
{
Angle=3
link(onEvent,528179:doWork3,[])
}
Add(Img_Rectangle,15251476,497,497)
{
Point2AsOffset=0
LineStyle=2
Point(Point1)
Point(Point2)
link(onDraw,14977473:doDraw,[])
link(Bitmap,3596754:getVar,[])
link(Point1,4619322:Var3,[(517,485)])
link(Point2,7960578:Var3,[(524,466)])
}
Add(Edit,16653976,245,280)
{
Left=434
Top=44
Text="60"
link(onChange,13288155:doWork3,[(284,286)])
}
Add(Img_Point,3910897,595,497)
{
Color=32768
Size=3
Point(X)
Point(Y)
link(onDraw,7167075:doDraw,[])
link(Bitmap,7743151:getVar,[])
link(X,10233706:getVar,[])
link(Y,15162992:getVar,[])
}
Add(Img_Point,7167075,651,497)
{
Color=255
Size=3
Point(X)
Point(Y)
link(Bitmap,11860968:getVar,[])
link(X,13983617:getVar,[])
link(Y,1759900:getVar,[])
}
Add(PointXY,12049784,462,448)
{
link(X,7833215:getVar,[])
link(Y,2165680:getVar,[])
}
Add(Img_Point,14977473,546,497)
{
Color=8388736
Size=3
Point(X)
Point(Y)
link(onDraw,3910897:doDraw,[])
link(Bitmap,10981796:getVar,[])
link(X,6463125:Var2,[])
link(Y,1453321:Var1,[(566,278)])
}
Add(MathParse,13714762,490,224)
{
MathStr="sqrt(sqr(%2) - sqr(%1 / 2))"
link(onResult,7520816:doCalc,[])
link(X1,16356677:Var2,[])
link(X2,13202318:getVar,[])
}
Add(MathParse,7520816,553,224)
{
DataCount=6
MathStr="%1 + (%2 - %1)/2 + %5 * (%4 - %3) / %6"
Point(doMathStr)
link(onResult,9757581:doCalc,[])
link(X1,7118581:getVar,[])
link(X2,5412053:getVar,[])
link(X3,299756:getVar,[])
link(X4,4213986:getVar,[])
link(X5,13217560:Var2,[])
link(X6,6056137:Var2,[])
}
Add(MathParse,9757581,623,224)
{
DataCount=6
MathStr="%3 + (%4 - %3)/2 - %5 * (%2 - %1) / %6"
Point(doMathStr)
link(onResult,8513123:doOperation,[])
link(X1,2347075:getVar,[])
link(X2,2234635:getVar,[])
link(X3,13282408:getVar,[])
link(X4,8594046:getVar,[])
link(X5,13217560:Var3,[(657,205)])
link(X6,6056137:Var3,[(664,212)])
}
Add(LineBreakEx,6567920,77,273)
{
Caption="x1"
Type=3
link(_Data,5113297:Text,[])
}
Add(LineBreakEx,14106423,161,301)
{
Caption="x2"
Type=3
link(_Data,6904018:Text,[])
}
Add(LineBreakEx,3615278,119,287)
{
Caption="y1"
Type=3
link(_Data,9314071:Text,[])
}
Add(LineBreakEx,12513766,203,308)
{
Caption="y2"
Type=3
link(_Data,13102730:Text,[])
}
Add(LineBreakEx,285935,245,322)
{
Caption="r"
Type=3
link(_Data,16653976:Text,[])
}
Add(LineBreakEx,3300599,455,329)
{
Caption="x1"
Type=2
}
Add(LineBreakEx,7833215,462,406)
{
Caption="x2"
Type=2
}
Add(LineBreakEx,15005020,462,343)
{
Caption="y1"
Type=2
}
Add(LineBreakEx,2165680,469,420)
{
Caption="y2"
Type=2
}
Add(LineBreakEx,10233706,602,455)
{
Caption="x1"
Type=2
}
Add(LineBreakEx,15162992,609,469)
{
Caption="y1"
Type=2
}
Add(LineBreakEx,13983617,658,455)
{
Caption="x2"
Type=2
}
Add(LineBreakEx,1759900,665,469)
{
Caption="y2"
Type=2
}
Add(LineBreakEx,7118581,553,140)
{
Caption="x1"
Type=2
}
Add(LineBreakEx,5412053,560,154)
{
Caption="x2"
Type=2
}
Add(LineBreakEx,299756,567,168)
{
Caption="y1"
Type=2
}
Add(LineBreakEx,4213986,574,182)
{
Caption="y2"
Type=2
}
Add(LineBreakEx,2347075,623,140)
{
Caption="x1"
Type=2
}
Add(LineBreakEx,2234635,630,154)
{
Caption="x2"
Type=2
}
Add(LineBreakEx,13282408,637,168)
{
Caption="y1"
Type=2
}
Add(LineBreakEx,8594046,644,182)
{
Caption="y2"
Type=2
}
Add(GetDataEx,13217560,581,200)
{
Angle=3
link(Data,13714762:Result,[(540,205)(540,268)(496,268)])
}
Add(GetDataEx,4619322,441,480)
{
Angle=3
link(Data,14588321:Point,[(438,485)(438,314)(706,314)])
}
Add(GetDataEx,7960578,448,461)
{
Angle=3
link(Data,12541359:Point,[(445,466)(445,323)(790,323)])
}
Add(PointXY,12541359,784,273)
{
link(X,10044231:Var2,[])
link(Y,10044231:Var3,[(797,264)])
}
Add(Math,1796089,784,224)
{
OpType=2
Op2=2
link(onResult,8255685:doDraw,[(838,230)(838,538)(417,538)(417,503)])
link(Op1,15610399:getVar,[])
}
Add(LineBreakEx,15610399,784,196)
{
Caption="r"
Type=2
}
Add(Math,8513123,700,224)
{
OpType=1
Op2=2
link(onResult,7698133:doOperation,[])
link(Op1,6463125:Var3,[(706,203)(684,203)(684,271)])
link(Op2,5121774:getVar,[])
}
Add(GetDataEx,10044231,784,259)
{
link(Data,1796089:Result,[])
}
Add(PointXY,14588321,700,273)
{
link(X,8513123:Result,[])
link(Y,7698133:Result,[(713,265)(748,265)])
}
Add(Math,7698133,742,224)
{
OpType=1
Op2=2
link(onResult,1796089:doOperation,[])
link(Op1,1453321:Var3,[(748,190)(692,190)(692,278)])
link(Op2,10779681:getVar,[])
}
Add(LineBreakEx,10779681,749,196)
{
Caption="r"
Type=2
}
Add(LineBreakEx,5121774,707,196)
{
Caption="r"
Type=2
}
Add(GetDataEx,6463125,553,266)
{
link(Data,7520816:Result,[])
}
Add(GetDataEx,1453321,623,273)
{
link(Data,9757581:Result,[])
}
Add(MathParse,9230487,350,224)
{
DataCount=4
MathStr="sqrt((%1-%2) * (%1-%2) + (%3-%4) * (%3-%4))"
link(onResult,13272551:doOperation,[])
link(X1,11566714:getVar,[])
link(X2,2880125:getVar,[])
link(X3,4691825:getVar,[])
link(X4,6505638:getVar,[])
}
Add(LineBreakEx,11566714,350,126)
{
Caption="x1"
Type=2
}
Add(LineBreakEx,2880125,357,140)
{
Caption="x2"
Type=2
}
Add(LineBreakEx,4691825,364,154)
{
Caption="y1"
Type=2
}
Add(LineBreakEx,6505638,371,168)
{
Caption="y2"
Type=2
}
Add(LineBreakEx,13202318,497,189)
{
Caption="r"
Type=2
}
Add(LineBreakEx,11860968,651,441)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,7743151,595,441)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,10981796,546,455)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,3596754,497,448)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,11805101,385,448)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,7314358,308,266)
{
Caption="bmp"
Type=3
link(_Data,880944:Bitmap,[])
}
Add(If_else,16004022,441,224)
{
Type=4
link(onTrue,13714762:doCalc,[])
link(onFalse,5840770:doDraw,[(479,237)(479,153)])
link(Op2,6253326:Var2,[])
}
Add(LineBreakEx,3442907,399,196)
{
Caption="r"
Type=2
}
Add(Math,13272551,399,224)
{
OpType=2
Op2=2
link(onResult,16004022:doCompare,[])
link(Op1,3442907:getVar,[])
AddHint(23,-50,30,13,Op2)
}
Add(LineBreakEx,11565827,497,119)
{
Caption="bmp"
Type=2
}
Add(Img_TextInRect,5840770,497,147)
{
Point1=65537
Point2=19661400
Font=[MS Sans Serif,14,1,0,1]
Text="Радиус меньше половины расстояния"
AlignHorizon=2
Alignvertical=2
link(Bitmap,11565827:getVar,[])
}
Add(CheckBox,15798334,210,77)
{
Left=500
Top=45
Width=80
Caption="pos1 / pos2"
link(onCheck,16584810:doEvent1,[])
}
Add(StrList,9664319,455,49)
{
Strings=#77:%1 + (%2 - %1)/2 + %5 * (%4 - %3) / %6|%3 + (%4 - %3)/2 - %5 * (%2 - %1) / %6|77:%1 + (%2 - %1)/2 - %5 * (%4 - %3) / %6|%3 + (%4 - %3)/2 + %5 * (%2 - %1) / %6|
Point(doGetString)
Point(onGetString)
link(onGetString,2902760:doSplit,[])
}
Add(StrPart,2902760,497,56)
{
Char="|"
link(onSplit,9757581:doMathStr,[(617,62)(617,237)])
link(onPart,7520816:doMathStr,[(545,69)(545,237)])
}
Add(Hub,16584810,252,77)
{
link(onEvent1,9664319:doGetString,[])
link(onEvent2,7489636:doWork1,[(284,90)])
}
Add(CheckBox,4312292,210,126)
{
Left=595
Top=45
Caption="<-- / -->"
link(onCheck,2043590:doEvent1,[])
}
Add(Hub,2043590,252,126)
{
link(onEvent1,8255685:doDirection,[(297,132)(297,510)])
link(onEvent2,7489636:doWork2,[])
}
Add(HubEx,7489636,280,133)
{
Angle=1
link(onEvent,8919054:doWork1,[])
}
Add(GetDataEx,6253326,448,207)
{
Angle=3
link(Data,9230487:Result,[(436,212)(436,272)(356,272)])
}
Add(GetDataEx,16356677,490,207)
{
Angle=3
link(Data,6253326:Var3,[])
}
Add(GetDataEx,6056137,588,207)
{
Angle=3
link(Data,16356677:Var3,[])
}
карма: 9

0
34
Сообщение
...
Прикрепленные файлы
(файлы не залиты)