E++, Custom EdingCNC Editor

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Niet te veel gaan denken.. daar krijg je hoofdpijn van... ;-)

Ik heb de test met de class SyntaxColor nog even wat opgepoetst.. en als je nu met toetsen door de Listbox loopt wordt voor elke property die erin staat de kleur getoond... zoals het hoort.. dat betekent dus dat ik een manier heb waarmee je alle kleuren aan kan passen, zonder dat je daar een muis voor nodig hebt.. en dat is precies zoals ik het wil...Muizen horen niet in een werkplaats.

tevens..nu we het ook over XML bestanden hebben gehad..in Release 5 van EdingCNC staan de tools in een aparte INI file, die op zich ook niet al te moeilijk te lezen zou moeten zijn voor Software.. Kijken we naar de huidige vormgeving.. dan staat alles in de CNC.Ini, en daar heb ik het 15 jaar geleden al uit weten te peuteren, immers Visual G++ leest alle tools al uit de INI om weer te geven bij een Toolchange, welke Tools er in je tabel staan..
om dat grapje nog een keer te doen.. dat kan ik durven...
En daarmee... Kun je "op kantoor" gewoon een bepaalde machine kiezen, en dan voor die machine specifiek programmeren.. rekening houdend met de Tools die er in de machine aanwezig zijn... 8)
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Ik heb een snippet gemaakt om een property te maken. Je moet deze in een map plaatsen, waar maakt niet uit. Vervolgens aan VS2019 deze snippet toevoegen.

In deze link staat e.e.a. uitgelegd. Lees het stuk hoe de snippet toegevoegd moet worden. Helaas staat er een fout in, je moet op de add knop drukken i.p.v. op de import knop.
https://learn.microsoft.com/en-us/visua ... ew=vs-2019

Ga daarna ergens in de code staat en type propgs gevolgd door 2x tab. Je krijgt dan een invuloefening met 2 velden. Het eerste veld is het type (default Double). Maak hiervan String en druk 2x op tab (niet de muis gebruiken). Dan sta je op de naam. Maak hiervan Test1 en druk op enter.

dan krijg je dit:

Code: Selecteer alles

 
        private String _Test1;
        public String Test1 { get { return _Test1; } set { _Test1 = value; } }
Snippet:

Code: Selecteer alles

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>propgs</Title>
			<Shortcut>propgs</Shortcut>
			<Description>Code snippet for property get/set</Description>
			<Author>Huub Buis</Author>
			<SnippetTypes>
				<SnippetType>Expansion</SnippetType>
			</SnippetTypes>
		</Header>

		<Snippet>
			<Declarations>
				<Literal>
					<ID>type</ID>
					<ToolTip>Property type</ToolTip>
					<Default>Double</Default>
				</Literal>
				<Literal>
					<ID>property</ID>
					<ToolTip>Property name</ToolTip>
					<Default>SetPropertyName</Default>
				</Literal>
			</Declarations>
			<Code Language="csharp">
				<![CDATA[	private $type$ _$property$;
							public $type$ $property$ {get { return _$property$;}set { _$property$ = value;}}
				$end$]]>
			</Code>
			<Imports>
				<Import>
					<Namespace>System.IO</Namespace>
				</Import>
			</Imports>
		</Snippet>
	</CodeSnippet>
</CodeSnippets>
MyCodeSnippets.zip
Deze snippets kun je eenvoudig uitbreiden. Dat maakt het maken van properties voor aangepaste controls een stuk gemakkelijker. Die zien er zo uit en daar heb ik er al heel wat van gemaakt. Ik heb nog wat huiswerk om te doen:

Code: Selecteer alles

        public String Mask { get { return (String)GetValue(MaskProperty); } set { SetValue(MaskProperty, value); } }
        public static readonly DependencyProperty MaskProperty = DependencyProperty.Register("Mask", typeof(String), typeof(MaskEditTextBox), new PropertyMetadata(""));
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Ehhh.. Dat moet ik even op mijn Dooie gemak doorlezen, en even zien of ik dat in een Project kan inbevoegen...
In welke taal is dat?.. het lijkt wel XML?.. het IS XML.. hoe werkt dat?..
Net wat ik zeg..Ik moet daar nog even naar kijken... Momenteel zit ik op een 12" Laptopje, met uiteraard maar 1 scherm.. wat een Arremoei... :lol:

24765

Dat hebben we inmiddels wel.. Ik vraag me af.. kan ik dat ook via die Class SyntaxColor op laten slaan?..
Nu heb ik gewoon alle properties gewoon onder elkaar in een Textboxje staan.. zo kan ik een String opbouwen en em zien op het zelfde moment..
Of ik nou een String of een TextBoxje vul.. boeit ook niet echt..
Nu nog even een Routine kladderen om de kleurcodes eruit te peuteren.. moe nie zo spannend zijn.. gewoon zoeken naar de Property namen, en dan vanaf het eerste =teken erna zoeken tot Environment.Newline...of CRLF.., en ze dan aan de Property knupp'n
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Code: Selecteer alles

private void button2_Click(object sender, EventArgs e)
        {
            listBox2.Items.Clear();
            OpenFileDialog ColorLoad = new OpenFileDialog();
            if (ColorLoad.ShowDialog() == DialogResult.OK)
            {
                int counter = 0;
                                foreach (string line in System.IO.File.ReadLines(ColorLoad.FileName))
                {
                    listBox2.Items.Add(line.Substring(line.IndexOf('=') + 1));
                    counter++;
                }
                listBox2.Items.RemoveAt(0);
                SyntaxUpdate();
            }
        }
even een "avondje" code zitten kloppen, vanmorgen rustig aan gedaan, vanmiddag even een voor mij momenteel flink eind te voet. even therapeutisch naar de Supermarkt..sigaartje gerookt in het zonnetje, Training en Kwalificatie van de F1 gekeken, en pas na het eten echt aan de CodeKlop gegaan..
Maar.. bovenstaande trekt wel mijn INI bestandje in een Listbox, en da's handig.. want ik kan meteen de "headers" eraf knippen.. want die heb ik toch niet nodig, dus maar meteen verwijderen als ik 't hele spul binnentrek..

Is het trouwens mogelijk (en liefst niet te moeilijk om de Properties van een Object te Enumereren?.. dan kan ik gewoon met een For/next loopje..

Code: Selecteer alles

for i= 0 to listBox2.items.count 
 txtColor = listBox2.Items[i].ToString();
            Palet1.property(i)= txtColor;
de boel volstorten.. Nu heb ik ze er allemaal nog afzonderlijk in staan..'t werkt wel.. daar ligt het niet aan, maar als het makkelijker kan, en op een manier die ik begrijp (zie voorgaande post, Edsger Dijkstra, over the Humble Programmer)..

Waarom ik Telkens Citaten van Edsger Dijkstra aanhaal?.. Simpel... ik heb een grote bewondering voor de man, de feitelijke uitvinder van het gestructureerd programmeren, k heb toen ik mijn eerste Computertje had (Commodore C=16), toen ook een Artikel gelezen in het blad KIJK, waar ik (toen nog wel) gretig in las..
Daarin Stelde Dijkstra: Beschouw een Programma als een Wiskundige Stelling, en bewijs em!
Vandaar dat ik ook de macro's in EdingCNC als Software beschouw, en de Code dienovereenkomstig opstel, En nu komt daar dus ook het nodige C# werk bij kijken..en ik vind het alleen maar leuker en leuker worden... zeker nu ik al dan niet met hulp van hier, meer en meer opsteek van C#..

Als ik nu kijk naar wat ik inmiddels voor elkaar heb, en wat er verder nog mogelijk is... Ik heb een Editor die:
  • Bestanden automagisch opslaat
  • Syntaxmarkering heeft, met diverse kleuren
  • Folding van de Code
  • Automatisch laden van het laatst bewerkte programma
  • Dialogen van EdingCNC gebruiken om te programmeren
  • Middels het zelf schrijven van Macro's de funtionaliteit uitbreiden
  • Eenvoudige Syntaxis van de code
Wat er verder nog bij komt?.. Nou... vandaag dus even zitten stoeien met het opslaan van de waarden van/voor Properties in een Ini bestandje, en het weer terug lezen.. zodat ik de kleuren voor van alles weer terug heb.
Dus.. dat moet in Versie 0.02.2, daarna ga ik wel even loeren of ik een beetje makkelijke Syntaxis kan verzinnen om dialogen aan te maken in E++, zodat je daarmee ofwel in E++ een Kopie kan aanmaken van een Dialoog die je ook al in EdingCNC gebruikt, maar dan mogelijk met extra functionaliteit, zoals een Custom opmerking toevoegen aan je Cyclus.. zodat je kan zien waar ie voor bedoeld is... zelfs als je de Code inklapt..
Want dan voeg ik die Tekst gewoon toe achter de opmerking ;Cycle Operation (Omschrijving).
Zolang je de Dialogen dezelfde naam geeft.. *kun je ook opgeven in de "Setup" kun je ook dezelfde afbeeldingen gebruiken als die voor EdingCNC, met dit verschil, dat je gewoon met een Dialoogje naar de juiste map kan bladeren..
Die Setup pagina, die moet ik dus ook nog maken.. Misschien doe ik dat wel net zoals in EdingCNC, met een Tabblad.. Immers.. een Tabblad kan zonder Muis benaderd worden.. Ik moet alleen zorgen dat mijn TabVolgorde goed staat..
Daar kan ik dan alle zaken kwijt.. zoals de "werkdirectory", de Tool.Ini van de machine waarvoor je programmeert, de kleuren, en meer van dat fraais..

C# Programmeren is een Avontuur, en ik ben me er volop van bewust dat ik nog maar aan het begin sta, maar vergeleken met VB.Net Ben ik al veel verder.. en dat terwijl ik ooit in een weekendje een speciale GUI voor EdingCNC schreef voor het aansturen van een Coordinaten pons machine.
Wie weet maak ik ooit nog de overstap naar C++, zodat ik rechtstreeks kan "koppelen" met EdingCNC, ik heb in het verleden al zoiets gedaan met de VB.Net API.... waarmee al hele gave dingen mogelijk waren...
ik ga er nog maar even een nachtje over slapen..
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Arie Kabaalstra schreef: 18 mar 2023 23:35 Is het trouwens mogelijk (en liefst niet te moeilijk om de Properties van een Object te Enumereren?.. dan kan ik gewoon met een For/next loopje..
Tuurlijk, als je de properties in een array, collection, list, etc stopt:

Code: Selecteer alles

        private ObservableCollection<ToolBit> _ToolBits = new ObservableCollection<ToolBit>() {
            new ToolBit(ToolBitTypes.None,"None"),
            new ToolBit(ToolBitTypes.Cd,"Center Drill"),
            new ToolBit(ToolBitTypes.Sd,"Spot Drill"),
            new ToolBit(ToolBitTypes.Dr,"Drill"),
            new ToolBit(ToolBitTypes.Re,"Reamer"),
            new ToolBit(ToolBitTypes.Cs,"Countersink"),
            new ToolBit(ToolBitTypes.Ch,"Chamfer"),
            new ToolBit(ToolBitTypes.Em,"End mill"),
            new ToolBit(ToolBitTypes.Vb,"Vbit"),
            new ToolBit(ToolBitTypes.Rb,"Rotary Broach")
        };
        foreach (ToolBit t in Toolbits)
          {
            Debug.WriteLine(t.ID);
          }
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Ok.. die zet ik dan in de Class waar ik dat object ga gebruiken?..
Ik zie nog niet helemaal hoe het werkt, maar 't merendeel is me wel duudlijk..Dat moet ik durven snappen..

Momenteel even een overzicht aan het maken, hoeveel Styles ik nodig ga hebben..Ik kom tot 16 stuks, waar Notepad++ er tot 8 gaat...

Code: Selecteer alles

[Styles]
Cycle =;Cycle, ;EndCycle
Region =;Region, ;Endregion
SubRoutine =;Sub, ;EndSub
GCodes =(@"G\d{1,3}(\.\d{1,2})?")
MCodes =(@"M\d{1,3}(\.\d{1,2})?")
Loops =If, EndIf, While, EndWhile
VolatileParameter =(@"#([1-3][0-9]{0,3})|#([4][0-9]{0,2})(?=\D)")
NonVolatileParameter =(@"#([4][0-9]{3})?")
MachineParameter =(@"#([5][0-9]{3})?")
HashBracket =(@"#(?=\S)"), (@"\[|\]"
Comment=(@"\(.+\)")
Remark =(@";.+")
Binary =Binary Operations
Unary =Unary Operations
Msg =(@"MSG|DLGMSG|LOGMSG")
Tool =(@"T\d{1,2}M6]?")
Ik heb het voor mezelf maar even in een INI format gepropt en opgeslagen.. dan kan ik het makkelijker terugvinden, zeker nu ik de hele boel andersom ga programmeren.. Vroeger had ik De Styles genoemd naar de kleur die de gevonden strings zouden krijgen.. Nu ga ik de gevonden strings toewijzen aan hun eigen Style, genaamd naar de properties , en de kleur.. die wordt bepaald door de IniFile.. hetzij die van E++ Zelf.. DefaultSyntaxColor.INI ofzoiets.. of je eigen FIle, en die kun je opslaan onder elke naam.. al is het "Zevenkleurenstronteneenbloemetje.INI" :lol:
Hetgeen betekent dat je voor het gewoon simpel schrijven van een progje de Nadruk meer wilt leggen op de Cycli, terwijl, als je er een Macro mee zit te pennen, dat verschillende kleuren voor de verschillende soorten Parameters wel fijn zijn..zodat je snel ziet wat een Volatile, non Volatine of Machine parameter is.., je kunt de verschillende kleurpatronen apart opslaan, en kiezen.. (Volgende stap, alle mogelijke kleurenschema's in één mapje mikken, en met een DropDown kiezen..Nog snellerder..

Ik ga in elk geval de Class SyntaxColor, die nu nog "slechts"18 regels Code bevat even flink uitbreiden.. richting de 24 minimaal.. omdat er een paar styles,,dus properties bij komen..
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door hugo stoutjesdijk »

Arie Kabaalstra schreef: 19 mar 2023 12:38 Hetgeen betekent dat je voor het gewoon simpel schrijven van een progje de Nadruk meer wilt leggen op de Cycli, terwijl, als je er een Macro mee zit te pennen, dat verschillende kleuren voor de verschillende soorten Parameters wel fijn zijn..zodat je snel ziet wat een Volatile, non Volatine of Machine parameter is.., je kunt de verschillende kleurpatronen apart opslaan, en kiezen.. (Volgende stap, alle mogelijke kleurenschema's in één mapje mikken, en met een DropDown kiezen..Nog snellerder..
Als ik dan toch bezig was zou ik even een lookup tabelletje maken met variabelen namen en parameter nummers. Dan kun je in die macro-editor gewoon met @diepte, @snedebreedte, @lengte @breedte of wat dan ook werken en op het moment dat het weggeschreven wordt, zet de editor de juiste parameters in die plek.
En met een beetje creativiteit vult ie het wel aan zodra je @d intikt naar @diepte.
Dat tabelletje is natuurlijk vrij invulbaar.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door hugo stoutjesdijk »

Arie Kabaalstra schreef: 18 mar 2023 23:35 Waarom ik Telkens Citaten van Edsger Dijkstra aanhaal?.. Simpel... ik heb een grote bewondering voor de man, de feitelijke uitvinder van het gestructureerd programmeren,
"Object oriented programming seems to me an alternative to correct programming"
Hier moet ik dan weer even over nadenken. :mrgreen:
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

hugo stoutjesdijk schreef: 19 mar 2023 13:23
Arie Kabaalstra schreef: 18 mar 2023 23:35 Waarom ik Telkens Citaten van Edsger Dijkstra aanhaal?.. Simpel... ik heb een grote bewondering voor de man, de feitelijke uitvinder van het gestructureerd programmeren,
"Object oriented programming seems to me an alternative to correct programming"
Hier moet ik dan weer even over nadenken. :mrgreen:

Tja.. er zijn soms dingen die je NIET klakkeloos over moet nemen van je grote voorbeeld...
aan de andere kant, Edsger Dijkstra komt uit een tijdperk waarin de meeste nu voorkomende Object georienteerde programmeertalen nog niet eens bestonden, laat staan dat iemand daar ooit over nagedacht had..
Eigenlijk net zoals ik nog altijd van mening ben dat je "stukswerk" gewoon aan de machine in moet kunnen kloppen.. en dat je je geen CNC programmeur mag noemen als je dat niet beheerst..
hugo stoutjesdijk schreef: 19 mar 2023 13:03 Als ik dan toch bezig was zou ik even een lookup tabelletje maken met variabelen namen en parameter nummers. Dan kun je in die macro-editor gewoon met @diepte, @snedebreedte, @lengte @breedte of wat dan ook werken en op het moment dat het weggeschreven wordt, zet de editor de juiste parameters in die plek.
En met een beetje creativiteit vult ie het wel aan zodra je @d intikt naar @diepte.
Dat tabelletje is natuurlijk vrij invulbaar.
Als ik dat zou gaan doen.. dan wordt E++ een Echte taal, en geen G-Code dialect meer.. dan kan ik ook L voor G00 en G01 erin zetten, C voor Cirkel, CP voor Polaire Cirkel, LP voor Polaire Lijn, en zovoorts... hee...dan gaat het ineens op Heidenhains lijken.. Snap je meteen waarom ik zo'n liefhebber ben van die taal.
het grote prob..de Grote Uitdaging is dan wel dat je ook de RadiusCompensatie eens voor elkaar moet boksen,zodat ik een Contour makkelijk met een overmaatje kan programmeren, en em dan zonder overmaatje kan napoetsen..
Alleen.. dat moet op de machine worden afgevangen, en als ik een Offset op een Contour wil bereiken, dan moet ik denk ik, als ik het in de Macro wil doen, alle Contour Elementen in een Array vastleggen. zodat je per Element even één of 2 , of nog meer elementen vooruit kan rekenen, om te zien of het allemaal gaat passen.. en dan kom je dus ook weer aan het berekenen van de Equidistante van je Contour.. voor een Rondkamertje of een Ronde tap allemaal makkelijk zat.. If Distance Toolposition to Center Circle > Radius : RadiusComp Buiten. else Binnen..
Het Dampt al in mijn hoofd.. maar ik weet nog niet hoe ik dat moet gaan vastleggen..eerst zal ik voor elke denkbare Contour overgang een passende Functie moeten vinden om de Equidistante te bepalen..
Voor de Overgang tussen 2 rechten.. die had ik al.. da;s 1/Tan(½α)*RTool.. Die heb ik vaak genoeg gebruikt, omdat de Heidenhain 410 geen RadiusCompensatie in het XZ of YZ vlak had.. Nou., dan reken ik em toch zelf uit?...Zo spannend is het niet.. Deze niet in elk geval..

Zou ik een Echte taal willen ontwikkelen?.. Jawadde!.. Dat lijkt me echt gaaf... eigenlijk is het ontwikkelen van een eigen taal niet meer dan het schrijven van de Compiler of Interpreter voor die taal.. maar dan moet je wel verstand hebben van programmeertalen...en vantevoren goed.. nee heel goed nadenken over wat je allemaal met die taal moet kunnen..
Laat ik me voorlopig eerst maar eens concentreren op het verder vervolmaken van E++ Als Editor..
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door hugo stoutjesdijk »

Met LinuxCNC kun je echt alles maken wat je kunt verzinnen hoor ik altijd. :lol:

Misschien.... als ik me ga vervelen als ik gepensioneerd ben. :mrgreen:

Gelukkig heb ik nog een besturing waar ik alles in kan typen wat ik wil maken, alleen als het aantal regeltjes me te veel wordt laat ik het door CamBam genereren. Dat is maar zelden eigenlijk. (heb pas na jaren die demo licentie omgezet naar betaalde, zo weinig gebruikte ik het)

En ik heb minder moeite met G2 en G3 dan met links en recht, zoiets banaals wordt ook gewoon een reflex in je systeem, in mijn beleving maakt klartext of G-code echt heel weinig uit. Ernstig overschat is mijn mening, maar verkoopt goed naar managers die zelf niets van programmeren begrijpen, en starters met koudwaterfrees.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

Ja, met Linux kan alles wat je kan verzinnen..wordt inderdaad beweerd..
maar.. als je C++ kan schrijven, dan kan alles, ook met EdingCNC..
"Vroegâh" toen de CncApiNet.Dll nog ondersteund werd, kon ook alles met EdingCNC, Ik noem maar die Graveerapplicatie die ik ooit gebouwd heb voor een groothandel in Tandwielkasten, of die CoordinatenPonsmachine die ik gebouwd heb voor het Medische bedrijf waar ik toen werkte, de besturing ook zelf geschreven, Programmeren?.. gewoon met Excel, kopiëren en plakken.. plakken middels een klik op de knop..
Daarom gaf ik een paar posts geleden ook al aan dat ik overweeg C++ te gaan leren... ik weet alleen nog niet wat ik me op de hals haal, de eerste applicatie in C++ moet ik nog bouwen.. Voorlopig bevalt C# me uitstekend..en ik begin het objectgeorienteerde een beetje te snappen..

een Eigen taal.. tja. er zijn al genoeg pogingen geweest, Heidenhain Klartekst heeft een flinke voet aan de grond gekregen, APT... is het uiteindelijk niet echt geworden, Style... da's wel gaaf.. helemaal grafisch, maar hoe ik een contour in delen kan opdelen, dat laten ze nooit zien op open dagen...

hoe zou ik zoiets zien?..een makkelijk te lezen Syntax.. L inplaats van G00 of G01, C voor Cirkelbogen, P voor polaire banen, CC voor Circle Center.. dat zijn wel dingen van Heidenhain die mij uitstekend bevielen.. of een Cirkel nou links of rechts is, dat zie je aan de coordinaten, DR+ is linksom.. DR= is met de klok mee..
Voordat je zoiets op poten kan zetten.. ben je wel even verder

Code: Selecteer alles

feed(400);     // Set the feed rate to 400 millimeters per minute
tool(1);       // Select tool 1

rapid({z: 5}); // Move to a safe height of 5mm
rapid({x: 1, y: 1});  // Go to start position
speed(2000);   // Spin at 2000 RPM in the clockwise direction

cut({z: -3});  // Cut down to depth
cut({x: 11});  // Cut to second corner
cut({y: 11});  // Cut to third corner
cut({x: 1});   // Cut to forth corner
cut({y: 1});   // Cut back to begining

rapid({z: 5}); // Move back to safe position
speed(0);      // Stop spinning
Camotics kan met TPL werken: https://tplang.org/, maar eerlijk?.. bovenstaande Code vind ik op zijn zachtst gezegd не читается.. niet leesbaar dus..er zitten ook wat Haken en ogen aan.. Tool 1 selecteert Tool 1.. Ja?.. selecteert?.. gaat ie em ook Fysiek wisselen dan?.. en wat nu als ie niet in Positie 1 zit?. of als je een tool gewisseld hebt, en nu de Offsets van Tool 1 oproept?.. want dat kan ook nog.. bij de Heidi waar ik het op geleerd heb.. Txx M6 was Toolchange maar Positiexx en ook het laden van die Offsets, en Txx zonder M was alleen het oproepen van de offsets van dat gereedschap.,, maar daar waren nog allerhande smaken in.. zeker als je een wisselaar hebt waar je een plaatstabel bij nodig hebt.. Txx Wisselt dan je tool, ongeacht waar ie zit.. dat weet de machine wel voor je.. Nee.. een eigen taal.. is niet makkelijk.. dan moet je met heel wat goeds komen wil het een succes worden..
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

de Volgende Hobbel..Had ik het gebruik van een Listbox met alle properties wel voor elkaar, en ook het omzetten van een kleurcode naar String, om em op te slaan, en het later weer in een kleurcode veranderen..
Allemaal leuk en prima, maar...

nu heb ik voor de TextStyles het volgende:

TextStyle SubroutineStyle=new TextStyle(Brushes,Blue, null, Fontstyle.Regular);

Hoe krijg ik de waarde van een property nou in een Brush?

Daar krijg ik dus schele hoofdpijn met zijwieltjes van.. ook omdat ik nu thuis zit, en ik daar momenteel door een fout van KPN geen Internet heb, behalve dan op mijn mobieltje... en daar zit ik nu dus op te typen.. wel met een bluetooth toetsenbordje..maar da's ook maar een kleintje
hfjbuis
Donateur
Berichten: 3057
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: E++, Custom EdingCNC Editor

Bericht door hfjbuis »

Code: Selecteer alles

                case "ProbeActiveForeGround":
                        return new SolidColorBrush(Colors.Red);
                       
There are only 2 limits, the sky and your imagination
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13372
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: E++, Custom EdingCNC Editor

Bericht door Arie Kabaalstra »

hfjbuis schreef: 20 mar 2023 22:37

Code: Selecteer alles

                case "ProbeActiveForeGround":
                        return new SolidColorBrush(Colors.Red);
                       
in mijn Code geeft bovenstaande alleen maar foutmeldingen over dingen die niet bestaan of dingen die zo niet mogen..
zoals in mijn voorbeeld te zien is, zit ik met "Brushes.Red" in mijn Style, en een SolidColorBrush..nee.. die werkt niet in dat geval.. en.. ik wil niet met "Colors.Red" werken, maar met de door de gebruiker zojuist gekozen kleur...
Dat ik voor die kleur een FromArgb omzetting nodig heb.. Prima.. ik heb tenslotte 2 Subjes waarvan de ene van een kleur een string maakt, en de andere van een string een kleur.. eigenlijk zou ik die ook nog in mijn Class moeten gooien..dat ik met een Get een ARGB kleurcode terug krijg.
Alleen..heb ik me er nog niet in verdiept hoe ik dat moet doen.. afgelopen dagen druk geweest,Gisterenmiddag de Fysio, en daarna voor het eerst weer Thuis geslapen, in mijn eigen gebouwde bed.. ook heel fijn.. en vandaag vooral bezig geweest met besprekingen.. Ja.. het gaat goed met me.. alleen ging dit om de Financiële gezondheid op de middellange tot lange duur..

morgen maar weer verder Gefingerpoken... Truste allen..
Plaats reactie