<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.192.168.35</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.192.168.35"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/109.192.168.35"/>
	<updated>2026-05-06T14:48:32Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26094</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26094"/>
		<updated>2022-07-10T20:31:54Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* PETG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
 Temperatur: 180-220°C &lt;br /&gt;
 Bett Temperatur: 30-50°C &lt;br /&gt;
 Kühlung: 100%&lt;br /&gt;
 Print speed: 40-60mm/s&lt;br /&gt;
 PLA trocken halten&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
&lt;br /&gt;
 Print speed 30 - 60mm/s&lt;br /&gt;
 Retraction 35-40mm/s Bowden and Direct Drive extruders&lt;br /&gt;
 Retraction distance &lt;br /&gt;
   5-7mm for Bowden extruders &lt;br /&gt;
   2-4mm for direct-drive extruders&lt;br /&gt;
 Fan-Speed niedrig für gute Layerhaftung, höher für Sauberkeit.&lt;br /&gt;
&lt;br /&gt;
Retraction settings for PETG are very different from those for other filaments. This is because PETG prints at a relatively high temperature so, the material flow is very hard to stop and control.&lt;br /&gt;
&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26093</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26093"/>
		<updated>2022-07-10T20:30:55Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* PLA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
 Temperatur: 180-220°C &lt;br /&gt;
 Bett Temperatur: 30-50°C &lt;br /&gt;
 Kühlung: 100%&lt;br /&gt;
 Print speed: 40-60mm/s&lt;br /&gt;
 PLA trocken halten&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
&lt;br /&gt;
 Print speed 30 - 60mm/s&lt;br /&gt;
 Retraction 35-40mm/s Bowden and Direct Drive extruders&lt;br /&gt;
settings for PETG are very different from those for other filaments. This is because PETG prints at a relatively high temperature so, the material flow is very hard to stop and control.&lt;br /&gt;
 Retraction distance 5-7mm for Bowden extruders and 2-4mm for direct-drive extruders&lt;br /&gt;
 Fan-Speed niedrig für gute Layerhaftung, höher für Sauberkeit.&lt;br /&gt;
&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26092</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26092"/>
		<updated>2022-07-10T20:30:37Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* PETG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
Temperatur: 180-220°C &lt;br /&gt;
Bett Temperatur: 30-50°C &lt;br /&gt;
Kühlung: 100%&lt;br /&gt;
Print speed: 40-60mm/s&lt;br /&gt;
PLA trocken halten&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
&lt;br /&gt;
 Print speed 30 - 60mm/s&lt;br /&gt;
 Retraction 35-40mm/s Bowden and Direct Drive extruders&lt;br /&gt;
settings for PETG are very different from those for other filaments. This is because PETG prints at a relatively high temperature so, the material flow is very hard to stop and control.&lt;br /&gt;
 Retraction distance 5-7mm for Bowden extruders and 2-4mm for direct-drive extruders&lt;br /&gt;
 Fan-Speed niedrig für gute Layerhaftung, höher für Sauberkeit.&lt;br /&gt;
&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26091</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26091"/>
		<updated>2022-07-10T12:42:59Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* PLA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
Temperatur: 180-220°C &lt;br /&gt;
Bett Temperatur: 30-50°C &lt;br /&gt;
Kühlung: 100%&lt;br /&gt;
Print speed: 40-60mm/s&lt;br /&gt;
PLA trocken halten&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extraction&amp;#039;&amp;#039;&amp;#039; between 30 and 60mm/s&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Retraction&amp;#039;&amp;#039;&amp;#039; settings for PETG are very different from those for other filaments. This is because PETG prints at a relatively high temperature so, the material flow is very hard to stop and control.&lt;br /&gt;
&lt;br /&gt;
The optimal retraction speed for PETG is relatively low, around 35-40mm/s, for both Bowden and Direct Drive extruders. The optimal retraction distance is between 5-7mm for Bowden extruders and 2-4mm for direct-drive extruders&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fan-Speed&amp;#039;&amp;#039;&amp;#039; niedrig für gute Layerhaftung, höher für Sauberkeit.&lt;br /&gt;
&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26090</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26090"/>
		<updated>2022-07-10T11:39:58Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* PETG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
 Todo&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extraction&amp;#039;&amp;#039;&amp;#039; between 30 and 60mm/s&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Retraction&amp;#039;&amp;#039;&amp;#039; settings for PETG are very different from those for other filaments. This is because PETG prints at a relatively high temperature so, the material flow is very hard to stop and control.&lt;br /&gt;
&lt;br /&gt;
The optimal retraction speed for PETG is relatively low, around 35-40mm/s, for both Bowden and Direct Drive extruders. The optimal retraction distance is between 5-7mm for Bowden extruders and 2-4mm for direct-drive extruders&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fan-Speed&amp;#039;&amp;#039;&amp;#039; niedrig für gute Layerhaftung, höher für Sauberkeit.&lt;br /&gt;
&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26089</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26089"/>
		<updated>2022-07-09T10:24:40Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* PLA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
 Todo&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26088</id>
		<title>3D-Druck</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Druck&amp;diff=26088"/>
		<updated>2022-07-09T10:24:28Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[3D-Drucker kalibrieren und einstellen]]&lt;br /&gt;
 [[Cura]]&lt;br /&gt;
&lt;br /&gt;
== Filamente ==&lt;br /&gt;
=== PLA ===&lt;br /&gt;
&lt;br /&gt;
=== PETG ===&lt;br /&gt;
 https://3dprinterly.com/filament-printing-guide/petg/ guter Guide, Einstellungen, Gesundheit, Eigenschaften...&lt;br /&gt;
=== TPU ===&lt;br /&gt;
 [[3D-Druck TPU drucken]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Snippets&amp;diff=26087</id>
		<title>ProcessWire - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Snippets&amp;diff=26087"/>
		<updated>2022-07-08T11:11:53Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Create Admin User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier findest du ein paar Basis Snippets. Codebeispiele zu Feldern findest du z.B. über die Seiten zu den Field Types.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
 [[ProcessWire - Module Snippets]]&lt;br /&gt;
 [[ProcessWire - Navigation Snippets]]&lt;br /&gt;
 [[ProcessWire - Debugging Snippets]]&lt;br /&gt;
&lt;br /&gt;
== Basics ==&lt;br /&gt;
=== Bild in Template einbinden ===&lt;br /&gt;
 &amp;lt;img src=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;img/menu.png&amp;quot; alt=&amp;quot;Home&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link zu Seite ===&lt;br /&gt;
 &amp;lt;a href=&amp;quot;&amp;lt;?php echo $pages-&amp;gt;get(&amp;#039;/kontakt/&amp;#039;)-&amp;gt;url; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
=== Wert aus Textfeld ===&lt;br /&gt;
 &amp;lt;div class=&amp;quot;&amp;lt;? echo $page-&amp;gt;get(&amp;quot;content_class&amp;quot;)?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
== Bilder ==&lt;br /&gt;
&lt;br /&gt;
=== Umfassende Renderfunktion zum wiederverwenden ===&lt;br /&gt;
Hier immer wieder aktualisiert. Todo Option für srcset.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * render image tag from imageobject&lt;br /&gt;
 * @todo add srcset version,add ukimage version, other attributes&lt;br /&gt;
 * @todo attributes as object or string&lt;br /&gt;
 * @param Object Image&lt;br /&gt;
 * @param Int width&lt;br /&gt;
 * @return String&lt;br /&gt;
 */&lt;br /&gt;
function renderImage($image,$w=200,$options=array()){&lt;br /&gt;
  if(!$image instanceof \ProcessWire\Pageimage) return &amp;#039;&amp;#039;;&lt;br /&gt;
  $defaults = array(&lt;br /&gt;
    &amp;#039;resizeHeight&amp;#039; =&amp;gt; false, // use height instead of width to resize&lt;br /&gt;
    &amp;#039;srcset&amp;#039; =&amp;gt; false, // todo&lt;br /&gt;
    &amp;#039;uikit&amp;#039; =&amp;gt; false, // todo&lt;br /&gt;
    &amp;#039;aspect&amp;#039; =&amp;gt; false,&lt;br /&gt;
    &amp;#039;noResize&amp;#039; =&amp;gt; false,&lt;br /&gt;
    &amp;#039;classes&amp;#039; =&amp;gt; &amp;#039;&amp;#039;, // classes as string&lt;br /&gt;
		&amp;#039;attributes&amp;#039; =&amp;gt; false, // attributes as array(attr=&amp;gt;val) or string&lt;br /&gt;
		&amp;#039;title&amp;#039; =&amp;gt; true, // add title tag based on image description&lt;br /&gt;
		&amp;#039;alt&amp;#039; =&amp;gt; true, // add alt tag based on image description&lt;br /&gt;
  );&lt;br /&gt;
  $options = array_merge($defaults,$options);&lt;br /&gt;
	$attributes = array();&lt;br /&gt;
	$strAttr = &amp;#039;&amp;#039;;&lt;br /&gt;
  $classMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	// ATTRIBUTES&lt;br /&gt;
  $attributesMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
	if( $options[&amp;#039;attributes&amp;#039;] ){&lt;br /&gt;
		bd( gettype( $options[&amp;#039;attributes&amp;#039;] ) );&lt;br /&gt;
		if( gettype($options[&amp;#039;attributes&amp;#039;] ) == &amp;#039;string&amp;#039;) $strAttr = (string)$options[&amp;#039;attributes&amp;#039;];&lt;br /&gt;
		else if( gettype($options[&amp;#039;attributes&amp;#039;]) == &amp;#039;array&amp;#039; ){&lt;br /&gt;
			foreach( (array)$options[&amp;#039;attributes&amp;#039;] as $k =&amp;gt; $a ){&lt;br /&gt;
				$attributes[$k] = $a;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if($options[&amp;#039;alt&amp;#039;] &amp;amp;&amp;amp; $image-&amp;gt;description) $attributes[&amp;#039;alt&amp;#039;] = $image-&amp;gt;description;&lt;br /&gt;
	if($options[&amp;#039;title&amp;#039;] &amp;amp;&amp;amp; $image-&amp;gt;description) $attributes[&amp;#039;title&amp;#039;] = $image-&amp;gt;description;&lt;br /&gt;
	$attributesMarkup = implode(&amp;#039; &amp;#039;, $attributes);&lt;br /&gt;
	if($strAttr) $attributesMarkup .= &amp;quot; $strAttr&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
  if($options[&amp;#039;classes&amp;#039;]) $classMarkup = &amp;#039; class=&amp;quot;&amp;#039;.$options[&amp;#039;classes&amp;#039;].&amp;#039;&amp;quot;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	if($options[&amp;#039;resizeHeight&amp;#039;]){&lt;br /&gt;
    $i = $image-&amp;gt;height($w);&lt;br /&gt;
  }else if($options[&amp;#039;aspect&amp;#039;]){&lt;br /&gt;
    $i = $image-&amp;gt;size($w, intval( $w / $options[&amp;#039;aspect&amp;#039;]) );&lt;br /&gt;
  }else if($options[&amp;#039;noResize&amp;#039;]){&lt;br /&gt;
    // Todo&lt;br /&gt;
&lt;br /&gt;
  }else{&lt;br /&gt;
    $i = $image-&amp;gt;width($w);&lt;br /&gt;
  } &lt;br /&gt;
	$out = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.$i-&amp;gt;url.&amp;#039;&amp;quot; &amp;#039;.$classMarkup.$attributesMarkup.&amp;#039;&amp;gt;&amp;#039;;&lt;br /&gt;
	return $out;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Image Manipulation ===&lt;br /&gt;
ImageMagick, Externe Bilder laden, Bilder Vorrendern...&lt;br /&gt;
[[Processwire - Advanced Image Manipulation]]&lt;br /&gt;
&lt;br /&gt;
=== Praktische Renderfunktionen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Image Function&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get background-position style via focus point if available&lt;br /&gt;
 * mainly used in other functions&lt;br /&gt;
 * @param Pageimage PW image object&lt;br /&gt;
 * @return Array containing background-position&lt;br /&gt;
 */&lt;br /&gt;
function getFocusStyles($image){&lt;br /&gt;
	// Focal Points if available&lt;br /&gt;
	$imageStyles = array();&lt;br /&gt;
	if($image-&amp;gt;focus){&lt;br /&gt;
		$focus=$image-&amp;gt;focus();&lt;br /&gt;
		//var_dump($focus);&lt;br /&gt;
		$imageStyles[] = &amp;#039;background-position:&amp;#039;.number_format($focus[&amp;quot;left&amp;quot;],1,&amp;quot;.&amp;quot;,&amp;quot;&amp;quot;) .&amp;#039;% &amp;#039;.number_format($focus[&amp;quot;top&amp;quot;],1,&amp;quot;.&amp;quot;,&amp;quot;&amp;quot;).&amp;#039;%;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	return $imageStyles;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get background-image styles and create image&lt;br /&gt;
 * @todo - make image set instead of single image&lt;br /&gt;
 * @param Pageimage&lt;br /&gt;
 * @param Int Image width&lt;br /&gt;
 * @param String background-size attribute (cover, contain...)&lt;br /&gt;
 * @return array &lt;br /&gt;
 */&lt;br /&gt;
function getBgImageStyles($image, $w = 800,$options = array()){&lt;br /&gt;
  $defaults = array(&lt;br /&gt;
    &amp;#039;size&amp;#039; =&amp;gt; &amp;#039;cover&amp;#039;,&lt;br /&gt;
    &amp;#039;noResize&amp;#039; =&amp;gt; false&lt;br /&gt;
  );&lt;br /&gt;
  $options = array_merge($defaults,$options);&lt;br /&gt;
  &lt;br /&gt;
	if($image){&lt;br /&gt;
		$styles = array();&lt;br /&gt;
    if ($options[&amp;#039;noResize&amp;#039;]) $myImage = $image;&lt;br /&gt;
    else $myImage = $image-&amp;gt;width($w);&lt;br /&gt;
		$styles[] = &amp;quot;background-image: url($myImage-&amp;gt;url);&amp;quot;;&lt;br /&gt;
		$styles[] = &amp;#039;background-size: &amp;#039;.$options[&amp;#039;size&amp;#039;].&amp;#039;; background-repeat: no-repeat;&amp;#039;;&lt;br /&gt;
		$styles = array_merge( $styles, getFocusStyles($myImage) );&lt;br /&gt;
		return $styles;&lt;br /&gt;
	} else return array();&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * render image tag from imageobject&lt;br /&gt;
 * @todo add srcset version, add description, add ukimage version, other attributes&lt;br /&gt;
 * @param Object Image&lt;br /&gt;
 * @param Int width&lt;br /&gt;
 * @return String&lt;br /&gt;
 */&lt;br /&gt;
function renderImage($image,$w=200,$options=array()){&lt;br /&gt;
  if(!$image instanceof \ProcessWire\Pageimage) return &amp;#039;&amp;#039;;&lt;br /&gt;
  $defaults = array(&lt;br /&gt;
    &amp;#039;resizeHeight&amp;#039; =&amp;gt; false, // use height instead of width to resize&lt;br /&gt;
    &amp;#039;srcset&amp;#039; =&amp;gt; false, // todo&lt;br /&gt;
    &amp;#039;uikit&amp;#039; =&amp;gt; false, // todo&lt;br /&gt;
    &amp;#039;aspect&amp;#039; =&amp;gt; false,&lt;br /&gt;
    &amp;#039;noResize&amp;#039; =&amp;gt; false&lt;br /&gt;
  );&lt;br /&gt;
  $options = array_merge($defaults,$options);&lt;br /&gt;
	if($options[&amp;#039;resizeHeight&amp;#039;]){&lt;br /&gt;
    $i = $image-&amp;gt;height($w);&lt;br /&gt;
  }else if($options[&amp;#039;aspect&amp;#039;]){&lt;br /&gt;
    $i = $image-&amp;gt;size($w, intval( $w / $options[&amp;#039;aspect&amp;#039;]) );&lt;br /&gt;
  }else if($options[&amp;#039;noResize&amp;#039;]){&lt;br /&gt;
    // Todo&lt;br /&gt;
  &lt;br /&gt;
  }else{&lt;br /&gt;
    $i = $image-&amp;gt;width($w);&lt;br /&gt;
  } &lt;br /&gt;
	$out = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.$i-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;#039;.$i-&amp;gt;description.&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	return $out;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/php&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einzelbild einfügen ===&lt;br /&gt;
&lt;br /&gt;
==== Maximale Breite oder maximale Höhe je nach Orientierung ====&lt;br /&gt;
 $thumburl = $image-&amp;gt;width &amp;gt; $image-&amp;gt;height ? $image-&amp;gt;size(450,0)-&amp;gt;url : $image-&amp;gt;size(0,320);&lt;br /&gt;
&lt;br /&gt;
==== Maximale Breite und maximale Höhe berücksichtigen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mW = 180;&lt;br /&gt;
$mH = 80;&lt;br /&gt;
$thumbUrl = ($mH / $image-&amp;gt;height) &amp;gt; ($mW / $image-&amp;gt;width) ? $image-&amp;gt;size($mW,0)-&amp;gt;url : $image-&amp;gt;size(0,$mH)-&amp;gt;url;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Bild aus Backend als Hintergrund einfügen====&lt;br /&gt;
(Feldname hier: &amp;#039;&amp;#039;main_image&amp;#039;&amp;#039;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if($page-&amp;gt;main_image){$image = $page-&amp;gt;main_image-&amp;gt;size(640,960);}&lt;br /&gt;
else $image = NULL;&lt;br /&gt;
...&lt;br /&gt;
if($image){&lt;br /&gt;
  echo &amp;quot;&lt;br /&gt;
  &amp;lt;div class=&amp;#039;a-3-4 team-image&amp;#039; style=&amp;#039;background-image:url({$image-&amp;gt;url})&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;{$myContent}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== n-tes Bild einfügen ===&lt;br /&gt;
 $page-&amp;gt;images-&amp;gt;eq(1); // second image&lt;br /&gt;
&lt;br /&gt;
=== Mehrere Bilder aus dem Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$myImages=&amp;#039;&amp;#039;;&lt;br /&gt;
if(count($page-&amp;gt;images)) {&lt;br /&gt;
  foreach($page-&amp;gt;images as $image) {&lt;br /&gt;
    $myImages .=  &amp;#039;&amp;lt;img class=&amp;quot;img-responsive&amp;quot; src=&amp;quot;&amp;#039;.$image-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
}   &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
echo $page-&amp;gt;images-&amp;gt;implode(function($item) {&lt;br /&gt;
  $large = $item-&amp;gt;size(1200,800);&lt;br /&gt;
  $thumb = $item-&amp;gt;size(400,300);&lt;br /&gt;
  return &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;$large-&amp;gt;url&amp;#039;&amp;gt;&amp;lt;img src=&amp;#039;$thumb-&amp;gt;url&amp;#039; alt=&amp;#039;$item-&amp;gt;description&amp;#039;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}, array(&amp;#039;prepend&amp;#039; =&amp;gt; &amp;#039;&amp;lt;ul&amp;gt;&amp;#039;, &amp;#039;append&amp;#039; =&amp;gt; &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;));  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Einfache Galerie ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$gallery = &amp;#039;&amp;lt;div class=&amp;quot;gallery&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$images = $page-&amp;gt;gallery;&lt;br /&gt;
&lt;br /&gt;
// add thumbnail to gallery&lt;br /&gt;
if(count($page-&amp;gt;thumbnail)){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$page-&amp;gt;thumbnail-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $page-&amp;gt;thumbnail-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foreach($images as $image){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$image-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $image-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt; &amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$gallery .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Slider mit Processwire ===&lt;br /&gt;
[[Processwire - Slider]]&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
[[Processwire - Working with Video]]&lt;br /&gt;
&lt;br /&gt;
== File Uploads ==&lt;br /&gt;
[[ProcessWire - Uploads]]&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[ProcessWire - Navigation Snippets]]&lt;br /&gt;
&lt;br /&gt;
== Seiten ==&lt;br /&gt;
http://processwire.com/api/variables/pages/&lt;br /&gt;
=== Inhalt einer Seite mit $page-&amp;gt;get() ===&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Visit us at:  &amp;lt;?php  &lt;br /&gt;
$contact = $pages-&amp;gt;get(&amp;quot;/about/contact/&amp;quot;);&lt;br /&gt;
echo $contact-&amp;gt;address;&lt;br /&gt;
?&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kürzer:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Visit us at: &amp;lt;?=$pages-&amp;gt;get(&amp;quot;/about/contact/&amp;quot;)-&amp;gt;address?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Seiten Filtern find() ===&lt;br /&gt;
==== &amp;quot;Featured&amp;quot; Checkbox im Backend angehakt ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;?php &lt;br /&gt;
$features = $pages-&amp;gt;find(&amp;quot;featured=1&amp;quot;);&lt;br /&gt;
foreach($features as $feature)&lt;br /&gt;
   echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$feature-&amp;gt;url}&amp;#039;&amp;gt;{$feature-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Beispiel: Limitierte Ausgabe, Sortieren und in Unterverzeichnis ====&lt;br /&gt;
 $pages-&amp;gt;find(&amp;quot;parent=/about/press/, featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
oder&lt;br /&gt;
 $pages-&amp;gt;get(&amp;quot;/about/press/&amp;quot;)-&amp;gt;children(&amp;quot;featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
Finde in Kategorie&lt;br /&gt;
 $pages-&amp;gt;get(&amp;quot;/about/press/&amp;quot;)-&amp;gt;find(&amp;quot;featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
==== Seiten mit Template xyz ====&lt;br /&gt;
 $pages-&amp;gt;find(&amp;quot;template=press_release, featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
Ausführliches Beispiel mit Ausgabe&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;?php &lt;br /&gt;
$features = $pages-&amp;gt;find(&amp;quot;template=press_release, featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
foreach($features as $feature) {&lt;br /&gt;
  echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;h3&amp;gt;&amp;lt;a href=&amp;#039;{$feature-&amp;gt;url}&amp;#039;&amp;gt;{$feature-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;span class=&amp;#039;date&amp;#039;&amp;gt;{$feature-&amp;gt;date}&amp;lt;/span&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;p&amp;gt;{$feature-&amp;gt;summary}&amp;lt;/p&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;; &lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felder ==&lt;br /&gt;
=== Label zu Feldes und Subfeldern ausgeben ===&lt;br /&gt;
Beispiel mit dem Combo Profield. Das Prinzip funktioniert bei allen Feldern.&lt;br /&gt;
 https://processwire.com/talk/topic/26183-getting-label-of-combo-subfield/#comment-217749&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$field = $fields-&amp;gt;get(&amp;#039;your_combo_field_name&amp;#039;);&lt;br /&gt;
$settings = $field-&amp;gt;getComboSettings();&lt;br /&gt;
$subfield = $settings-&amp;gt;getSubfield(&amp;#039;your_subfield_name&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// get label in current user language&lt;br /&gt;
$label = $subfield-&amp;gt;getLabel();&lt;br /&gt;
&lt;br /&gt;
// to get in a language other than current user language&lt;br /&gt;
$label = $subfield-&amp;gt;getLabel(&amp;#039;de&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// to get localized description&lt;br /&gt;
$description = $subfield-&amp;gt;getDescription();&lt;br /&gt;
&lt;br /&gt;
// to get localized notes&lt;br /&gt;
$notes = $subfield-&amp;gt;getNotes();&lt;br /&gt;
&lt;br /&gt;
// also note you can use getLanguageValue&lt;br /&gt;
$label = $subfield-&amp;gt;getLanguageValue(&amp;#039;de&amp;#039;, &amp;#039;label&amp;#039;); &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Label eines Felds ausgeben ===&lt;br /&gt;
Geht über das Feld-Objekt.&lt;br /&gt;
 echo $fields-&amp;gt;get(&amp;quot;body&amp;quot;)-&amp;gt;label;&lt;br /&gt;
&lt;br /&gt;
=== Ist ein Feld leer ? ===&lt;br /&gt;
 if($page-&amp;gt;summary_de) { ... }&lt;br /&gt;
 // check whitespace&lt;br /&gt;
 if(trim($page-&amp;gt;summary_de)) { ... }&lt;br /&gt;
&lt;br /&gt;
=== Datumsfelder formatieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
// aus Datumsfeldern&lt;br /&gt;
echo date(&amp;quot;Y-m-d&amp;quot;, $page-&amp;gt;getUnformatted(&amp;quot;closing&amp;quot;)); &lt;br /&gt;
&lt;br /&gt;
// aus Unix Timestamp mit Vanilla PHP&lt;br /&gt;
echo date(&amp;quot;Y-m-d&amp;quot;, $news-&amp;gt;created);&lt;br /&gt;
&lt;br /&gt;
setlocale(LC_TIME, &amp;quot;de_DE.utf8&amp;quot;);&lt;br /&gt;
$weekday = strftime ( &amp;#039;%A&amp;#039; , $page-&amp;gt;getUnformatted(&amp;quot;date&amp;quot;) );&lt;br /&gt;
$date = date(&amp;quot;d.m.Y&amp;quot;, $page-&amp;gt;getUnformatted(&amp;quot;date&amp;quot;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel aus ProcessWire Blog&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
setlocale(LC_ALL, array(&amp;#039;de_DE&amp;#039;,&amp;#039;de_DE.iso88591&amp;#039;,&amp;#039;de_DE.iso885915@euro&amp;#039;,&amp;#039;de_DE.utf8&amp;#039;,&amp;#039;de_DE@euro&amp;#039;));&lt;br /&gt;
$date = $page-&amp;gt;date ? date(&amp;#039;d.m.Y&amp;#039;,$page-&amp;gt;getUnformatted(&amp;quot;date&amp;quot;)) : date(&amp;#039;d.m.Y&amp;#039;,$page-&amp;gt;getUnformatted(&amp;quot;createdStr&amp;quot;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optionen eines Select Felds ausgeben (fieldtypeOptions)===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$options = $fieldtypes-&amp;gt;get(&amp;#039;FieldtypeOptions&amp;#039;)-&amp;gt;getOptions(&amp;#039;YOURFIELDNAME&amp;#039;); &lt;br /&gt;
foreach($options as $option) {&lt;br /&gt;
  echo $option-&amp;gt;id;&lt;br /&gt;
  echo $option-&amp;gt;value;&lt;br /&gt;
  echo $option-&amp;gt;title; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Parent von Repeater oder RepeaterMatrix finden ===&lt;br /&gt;
Nutzt man ein Repeater Feld muss man manchmal die Seite herausfinden in der das Feld enthalten ist. Hierfür gibt es die Funktion getForPage().&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if( get_class($myPage) == &amp;#039;ProcessWire\RepeaterMatrixPage&amp;#039; || get_class($myPage) == &amp;#039;ProcessWire\RepeaterPage&amp;#039;) {&lt;br /&gt;
            $forPage = $myPage-&amp;gt;getForPage();&lt;br /&gt;
            //var_dump( $myPage-&amp;gt;getForPage());&lt;br /&gt;
            return $myPage = getImagePage($forPage);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Searchbar ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;!-- search form--&amp;gt;&lt;br /&gt;
	&amp;lt;form class=&amp;#039;search&amp;#039; action=&amp;#039;&amp;lt;?php echo $pages-&amp;gt;get(&amp;#039;template=search&amp;#039;)-&amp;gt;url; ?&amp;gt;&amp;#039; method=&amp;#039;get&amp;#039;&amp;gt;&lt;br /&gt;
		&amp;lt;input type=&amp;#039;text&amp;#039; name=&amp;#039;q&amp;#039; placeholder=&amp;#039;Search&amp;#039; value=&amp;#039;&amp;lt;?php echo $sanitizer-&amp;gt;entities($input-&amp;gt;whitelist(&amp;#039;q&amp;#039;)); ?&amp;gt;&amp;#039; /&amp;gt;&lt;br /&gt;
		&amp;lt;button type=&amp;#039;submit&amp;#039; name=&amp;#039;submit&amp;#039;&amp;gt;Search&amp;lt;/button&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Create Admin User ==&lt;br /&gt;
=== Reset Password - Passwort zurücksetzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
require &amp;quot;index.php&amp;quot;;&lt;br /&gt;
$admin = $users-&amp;gt;get(&amp;#039;admin1&amp;#039;); // or whatever your username is&lt;br /&gt;
$admin-&amp;gt;setAndSave(&amp;#039;pass&amp;#039;, &amp;#039;geheim&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 https://processwire-recipes.com/recipes/resetting-admin-password-via-api/&lt;br /&gt;
Problem&lt;br /&gt;
For some reason, you have managed to lock yourself out of a site you are currently developing.&lt;br /&gt;
&lt;br /&gt;
Solution&lt;br /&gt;
Paste the following into a file (e.g. &amp;quot;reset.php&amp;quot;) in the root folder of the site, then run it.&lt;br /&gt;
&lt;br /&gt;
ProcessWire version &amp;gt;= 2.6.9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require &amp;quot;index.php&amp;quot;;&lt;br /&gt;
$admin = $users-&amp;gt;get(&amp;#039;admin&amp;#039;); // or whatever your username is&lt;br /&gt;
$admin-&amp;gt;setAndSave(&amp;#039;pass&amp;#039;, &amp;#039;yo123456&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ProcessWire version &amp;lt; 2.6.9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require &amp;quot;index.php&amp;quot;;&lt;br /&gt;
$admin = wire(&amp;#039;users&amp;#039;)-&amp;gt;get(&amp;#039;admin&amp;#039;);&lt;br /&gt;
$admin-&amp;gt;setOutputFormatting(false);&lt;br /&gt;
$admin-&amp;gt;set(&amp;#039;pass&amp;#039;, &amp;#039;yo12345&amp;#039;);&lt;br /&gt;
$admin-&amp;gt;save(&amp;#039;pass&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Editor Link / Login Logout Link ==&lt;br /&gt;
_main.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;editor&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  if($user-&amp;gt;isLoggedin()) {&lt;br /&gt;
    // if user is logged in, show a logout link&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$config-&amp;gt;urls-&amp;gt;admin}login/logout/&amp;#039;&amp;gt;Logout ($user-&amp;gt;name)&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    // if user not logged in, show a login link&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$config-&amp;gt;urls-&amp;gt;admin}&amp;#039;&amp;gt;∆&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  // output an &amp;quot;Edit&amp;quot; link if this page happens to be editable by the current user&lt;br /&gt;
  if($page-&amp;gt;editable()) echo &amp;quot;&amp;lt;li class=&amp;#039;edit nav&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$page-&amp;gt;editUrl&amp;#039;&amp;gt;Edit&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Siehe auch [[ProcessWire - User Login / Logout]]&lt;br /&gt;
&lt;br /&gt;
== Conditions ==&lt;br /&gt;
=== Bedingungen durch Oder Operator in Feldern ===&lt;br /&gt;
Wenn das eine Feld leer ist nimm das nächste...&lt;br /&gt;
 $t = $page-&amp;gt;get(&amp;quot;long_title|title&amp;quot;);&lt;br /&gt;
=== Conditions für Navigation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If the page has children, then render navigation to them under the body.&lt;br /&gt;
// See the _func.php for the renderNav example function.&lt;br /&gt;
if($page-&amp;gt;hasChildren) {&lt;br /&gt;
	$content .= renderNav($page-&amp;gt;children);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// if the rootParent (section) page has more than 1 child, then render &lt;br /&gt;
// section navigation in the sidebar&lt;br /&gt;
if($page-&amp;gt;rootParent-&amp;gt;hasChildren &amp;gt; 1) {&lt;br /&gt;
	$sidebar = renderNavTree($page-&amp;gt;rootParent, 3) . $page-&amp;gt;sidebar; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== $page Object ==&lt;br /&gt;
Siehe auch [[ProcessWire - Page Object]]&lt;br /&gt;
=== Zugriff auf $page in Funktionen ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function getTitle() {&lt;br /&gt;
    $page = wire(&amp;quot;page&amp;quot;);&lt;br /&gt;
    $t = $page-&amp;gt;title;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder einfach übergeben.&lt;br /&gt;
&lt;br /&gt;
== Copy and Paste ==&lt;br /&gt;
&lt;br /&gt;
=== Copyright / Published Date ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$published_date = date(&amp;#039;d.m.Y&amp;#039;,$page-&amp;gt;created);&lt;br /&gt;
&amp;lt;?= &amp;#039;&amp;amp;copy;&amp;#039;.$published_date ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stylesheets und Skripte mit AIOM ===&lt;br /&gt;
 &amp;lt;script src=&amp;quot;&amp;lt;?php echo AIOM::JS(array(&amp;#039;scripts/jquery-2.2.4.min.js&amp;#039;,&amp;#039;scripts/jquery.chocolat.js&amp;#039;,&amp;#039;scripts/jquery.fitvids.js&amp;#039;,&amp;#039;scripts/jquery.flexslider-min.js&amp;#039;, &amp;#039;scripts/main.js&amp;#039;)); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;lt;?php echo AIOM::CSS(&amp;#039;styles/main.less&amp;#039;); ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?php echo $homepage-&amp;gt;site_title .&amp;#039; &amp;#039;. Date(&amp;#039;Y&amp;#039;); ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link zur Seite anhand URL-Pfad ===&lt;br /&gt;
 &amp;lt;?php echo $pages-&amp;gt;get(&amp;#039;/ueber-uns/&amp;#039;)-&amp;gt;url; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feld einer Seite ===&lt;br /&gt;
 $content_left = $page-&amp;gt;get(&amp;#039;content_left&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
=== Bild ===&lt;br /&gt;
 if($page-&amp;gt;main_image){$image = $page-&amp;gt;main_image-&amp;gt;size(640,960);}&lt;br /&gt;
 else $image = NULL;&lt;br /&gt;
=== Bild von der Homepage ===&lt;br /&gt;
in _init.php&lt;br /&gt;
 $homepage = $pages-&amp;gt;get(&amp;#039;/&amp;#039;);&lt;br /&gt;
im Template&lt;br /&gt;
 if($homepage-&amp;gt;config_logo){$logo = $homepage-&amp;gt;config_logo-&amp;gt;width(280);}&lt;br /&gt;
 else $logo = NULL;&lt;br /&gt;
&lt;br /&gt;
=== Simple Navigation ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;#039;nav-list&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;?php&lt;br /&gt;
  // Childrens&lt;br /&gt;
  foreach(($page-&amp;gt;children) as $item) {&lt;br /&gt;
    if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
      echo &amp;#039;&amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
      echo &amp;#039;&amp;lt;li&amp;gt;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    echo &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
  ?&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Auflistung mit div. Feldern aus Kindseiten ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Publications list template&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
$publications = &amp;#039;&amp;#039;;&lt;br /&gt;
$children = $page-&amp;gt;children;&lt;br /&gt;
foreach($children as $child){&lt;br /&gt;
  $publications .= &amp;#039;&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
  $publications .= &amp;#039;&amp;lt;h2&amp;gt;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; parent=&amp;quot;&amp;#039;. $child-&amp;gt;parent-&amp;gt;title .&amp;#039;&amp;quot; name=&amp;quot;&amp;#039;.$child-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $child-&amp;gt;url. &amp;#039;&amp;quot;&amp;gt;&amp;#039;. $child-&amp;gt;title . &amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;&amp;#039;;&lt;br /&gt;
  $publications .= $child-&amp;gt;body;&lt;br /&gt;
  $publications .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$content = $page-&amp;gt;body . $publications;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Minigalerie ===&lt;br /&gt;
Thumbnails / Child Pages&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$works = &amp;#039;&amp;lt;div class=&amp;quot;gallery&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$children = $page-&amp;gt;children;&lt;br /&gt;
foreach($children as $child){&lt;br /&gt;
  $works .= &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; parent=&amp;quot;&amp;#039;. $child-&amp;gt;parent-&amp;gt;title .&amp;#039;&amp;quot; name=&amp;quot;&amp;#039;.$child-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $child-&amp;gt;url. &amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
  $works .= &amp;#039;&amp;lt;h2&amp;gt;&amp;#039;. $child-&amp;gt;title . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
  if(count($child-&amp;gt;thumbnail)){&lt;br /&gt;
      $works .= &amp;#039;&amp;lt;div class=&amp;quot;thumbnail&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $child-&amp;gt;thumbnail-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  $works .= &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$works .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$content = $page-&amp;gt;body . $works . &amp;#039;&amp;lt;br/&amp;gt;&amp;#039; . $page-&amp;gt;video;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Page Navigation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
    $next = &amp;#039;&amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$content = &amp;#039;&amp;lt;h2&amp;gt;&amp;#039;. $page-&amp;gt;title . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039; . $page-&amp;gt;body . &amp;#039;&amp;lt;br/&amp;gt;&amp;lt;div class=&amp;quot;video&amp;quot;&amp;gt;&amp;#039; . $page-&amp;gt;video .&amp;#039;&amp;lt;/div&amp;gt;&amp;#039; . $next;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simple Gallery with next Page ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$gallery = &amp;#039;&amp;lt;div class=&amp;quot;gallery&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$images = $page-&amp;gt;gallery;&lt;br /&gt;
&lt;br /&gt;
// add thumbnail to gallery&lt;br /&gt;
if(count($page-&amp;gt;thumbnail)){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$page-&amp;gt;thumbnail-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $page-&amp;gt;thumbnail-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foreach($images as $image){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$image-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $image-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt; &amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$gallery .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
    $next = &amp;#039;&amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$content = &amp;#039;&amp;lt;h2&amp;gt;&amp;#039;. $page-&amp;gt;title . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039; . $page-&amp;gt;body . &amp;#039;&amp;lt;br/&amp;gt;&amp;#039; . $gallery . &amp;#039;&amp;lt;br/&amp;gt;&amp;lt;div class=&amp;quot;video&amp;quot;&amp;gt;&amp;#039; . $page-&amp;gt;video .&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;. $next;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Platzhalter-Seite mit Redirect auf erste Unterseite ===&lt;br /&gt;
Möchte man eine Eltern-Seite für das Menü generieren die keinen eigenen Inhalt besitzt sondern nur Unterseiten enthält, kann man ein Template für diese Seite erstellen, dass den User auf die erste Unterseite weiterleitet.&lt;br /&gt;
&lt;br /&gt;
Diese Lösung ist ein regulärer Redirect. Ob das die Beste Lösung ist müßte man mal überlegen. Auf alle Fälle besser als Duplicate Content.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
$root = $pages-&amp;gt;get(&amp;quot;/&amp;quot;);&lt;br /&gt;
if($page-&amp;gt;numChildren){&lt;br /&gt;
	$session-&amp;gt;redirect($page-&amp;gt;child()-&amp;gt;url);&lt;br /&gt;
} else $session-&amp;gt;redirect($root-&amp;gt;url);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ProcessWire - Debugging Snippets ==&lt;br /&gt;
[[ProcessWire - Debugging Snippets]]&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26086</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26086"/>
		<updated>2022-07-07T19:24:43Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Extruder Fördermenge kalibrieren / eSteps einstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* eSteps auslesen&lt;br /&gt;
 m503&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* Extrusion resetten&lt;br /&gt;
 M83&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit) &lt;br /&gt;
 G1 E100 F100&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen, wenn mehr hat er zu wenig eingezogen.&lt;br /&gt;
* Neue Steps berechnen&lt;br /&gt;
 Beispiel: &lt;br /&gt;
 22,6mm übrig =&amp;gt; Tatsächlich geförderte Menge ist 120mm - 22,6mm = 97,4&lt;br /&gt;
 Alte Steps * gewünschte Länge / Tatsächlich geförderte Länge = Neue Steps&lt;br /&gt;
 100 * 100 / 97,4mm = 102,669 =&amp;gt; ca 102,67&lt;br /&gt;
* Neue eSteps setzen und speichern (Komma konnte man bei mir zweistellig angeben):&lt;br /&gt;
 M92 E102.67&lt;br /&gt;
 M500&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 M83 = Extrusion auf 0 setzen (ist wohl so eine Art zwischenspeicher)&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus Wichtig für uns die Zeile die mit M92 beginnt oben sehen wir auch noch was eine unit bedeutet wir wissen also unser Extruder macht hier 100 Schritte pro mm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
...&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit (bei uns mm). Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F50 = 10cm langsam fördern (G = Go / E Extrude / F = Fast )&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26085</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26085"/>
		<updated>2022-07-07T18:49:29Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Messung und Berechnung in der Praxis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* eSteps auslesen&lt;br /&gt;
 m503&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit) &lt;br /&gt;
 G1 E100 F100&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen, wenn mehr hat er zu wenig eingezogen.&lt;br /&gt;
* Neue Steps berechnen&lt;br /&gt;
 Beispiel: &lt;br /&gt;
 22,6mm übrig =&amp;gt; Tatsächlich geförderte Menge ist 120mm - 22,6mm = 97,4&lt;br /&gt;
 Alte Steps * gewünschte Länge / Tatsächlich geförderte Länge = Neue Steps&lt;br /&gt;
 100 * 100 / 97,4mm = 102,669 =&amp;gt; ca 102,67&lt;br /&gt;
* Neue eSteps setzen und speichern (Komma konnte man bei mir zweistellig angeben):&lt;br /&gt;
 M92 E102.67&lt;br /&gt;
 M500&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus Wichtig für uns die Zeile die mit M92 beginnt oben sehen wir auch noch was eine unit bedeutet wir wissen also unser Extruder macht hier 100 Schritte pro mm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
...&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit (bei uns mm). Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F100 = 10cm langsam fördern&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26084</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26084"/>
		<updated>2022-07-07T18:34:23Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Messung und Berechnung in der Praxis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* eSteps auslesen&lt;br /&gt;
 m503&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit) &lt;br /&gt;
 G1 E100 F100&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen, wenn mehr hat er zu wenig eingezogen.&lt;br /&gt;
* Neue Steps berechnen&lt;br /&gt;
 Beispiel: &lt;br /&gt;
 22,6mm übrig =&amp;gt; Tatsächlich geförderte Menge ist 120mm - 22,6mm = 97,4&lt;br /&gt;
 Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge = Neue Steps&lt;br /&gt;
 100 / 97,4mm * 100mm = 102,669 =&amp;gt; ca 102,7&lt;br /&gt;
* Neue eSteps setzen und speichern:&lt;br /&gt;
 M92 E102.7&lt;br /&gt;
 M500&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus Wichtig für uns die Zeile die mit M92 beginnt oben sehen wir auch noch was eine unit bedeutet wir wissen also unser Extruder macht hier 100 Schritte pro mm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
...&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit (bei uns mm). Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F100 = 10cm langsam fördern&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26083</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26083"/>
		<updated>2022-07-07T18:33:19Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Messung und Berechnung in der Praxis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit) &lt;br /&gt;
 G1 E100 F100&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen, wenn mehr hat er zu wenig eingezogen.&lt;br /&gt;
* Neue Steps berechnen&lt;br /&gt;
 Beispiel: &lt;br /&gt;
 22,6mm übrig =&amp;gt; Tatsächlich geförderte Menge ist 120mm - 22,6mm = 97,4&lt;br /&gt;
 Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge = Neue Steps&lt;br /&gt;
 100 / 97,4mm * 100mm = 102,669 =&amp;gt; ca 102,7&lt;br /&gt;
* Neue eSteps setzen und speichern:&lt;br /&gt;
 M92 E102.7&lt;br /&gt;
 M503&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus Wichtig für uns die Zeile die mit M92 beginnt oben sehen wir auch noch was eine unit bedeutet wir wissen also unser Extruder macht hier 100 Schritte pro mm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
...&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit (bei uns mm). Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F100 = 10cm langsam fördern&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26082</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26082"/>
		<updated>2022-07-07T18:27:04Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit)&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen, wenn mehr hat er zu wenig eingezogen.&lt;br /&gt;
* Neue Steps berechnen&lt;br /&gt;
 Beispiel: &lt;br /&gt;
 22,6mm übrig =&amp;gt; Tatsächlich geförderte Menge ist 120mm - 22,6mm = 97,4&lt;br /&gt;
 Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge = Neue Steps&lt;br /&gt;
 100 / 97,4mm * 100mm = 102,669 =&amp;gt; ca 102,7&lt;br /&gt;
* Neue eSteps setzen und speichern:&lt;br /&gt;
 M92 E102.7&lt;br /&gt;
 M503&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus Wichtig für uns die Zeile die mit M92 beginnt oben sehen wir auch noch was eine unit bedeutet wir wissen also unser Extruder macht hier 100 Schritte pro mm:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
...&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit (bei uns mm). Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F100 = 10cm langsam fördern&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26081</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26081"/>
		<updated>2022-07-07T18:14:23Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Messung und Berechnung in der Praxis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit)&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen, wenn mehr hat er zu wenig eingezogen.&lt;br /&gt;
* Neue Steps berechnen&lt;br /&gt;
Beispiel: 22,6mm übrig =&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus etwa so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
echo:  M149 C ; Units in Celsius&lt;br /&gt;
echo:Filament settings: Disabled&lt;br /&gt;
echo:  M200 D1.75&lt;br /&gt;
echo:  M200 D0&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit. Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F100 = 10cm langsam fördern&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26080</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26080"/>
		<updated>2022-07-07T18:11:04Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Mit Pronterface verbinden und Drucker steuern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit)&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus etwa so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
echo:  M149 C ; Units in Celsius&lt;br /&gt;
echo:Filament settings: Disabled&lt;br /&gt;
echo:  M200 D1.75&lt;br /&gt;
echo:  M200 D0&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit. Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
 G1 E100 F100 = 10cm langsam fördern&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26079</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26079"/>
		<updated>2022-07-07T18:09:13Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Messung und Berechnung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
==== Messung und Berechnung in der Praxis ====&lt;br /&gt;
* Düse vorheizen&lt;br /&gt;
* Material am Einzug und 12cm weiter hinten mit Stift markieren&lt;br /&gt;
* 10cm Einziehen (Terminal oder im Menü der Bedieneinheit)&lt;br /&gt;
* Schauen ob genau 2cm bis zur Markierung übrig sind. Wenn weniger hat er zuviel eingezogen&lt;br /&gt;
&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus etwa so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
echo:  M149 C ; Units in Celsius&lt;br /&gt;
echo:Filament settings: Disabled&lt;br /&gt;
echo:  M200 D1.75&lt;br /&gt;
echo:  M200 D0&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit. Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26078</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26078"/>
		<updated>2022-07-07T18:00:22Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Extruder Fördermenge / eSteps einstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge kalibrieren / eSteps einstellen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prinzip:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Details:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 https://all3dp.com/de/2/extruder-kalibrierung-3d-drucker/&lt;br /&gt;
&lt;br /&gt;
Du kannst die Messung und Speicherung der Werte entweder über das Druckermenü (zumindest bei aktuellen Druckern) oder über ein Terminal o.ä. machen. Das geht z.B. in Pronterface.&lt;br /&gt;
==== Messung und Berechnung ====&lt;br /&gt;
==== Mit Pronterface verbinden und Drucker steuern ====&lt;br /&gt;
&lt;br /&gt;
Bei mir auf dem Mac&lt;br /&gt;
 tty.usbserial-14330 at baudrate 115200:&lt;br /&gt;
Seriell über usb sollte in der Regel mit tty.usbserial oder tty.usbmodem starten. Baudrate hat 115200 für den Ender 5 gepasst. Andere funktionierten nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Die wichtigsten Befehle für Pronterface:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
Der Drucker gibt dann eine ganze Latte an Infos aus etwa so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; m503&lt;br /&gt;
SENDING:M503&lt;br /&gt;
echo:  G21    ; Units in mm (mm)&lt;br /&gt;
echo:  M149 C ; Units in Celsius&lt;br /&gt;
echo:Filament settings: Disabled&lt;br /&gt;
echo:  M200 D1.75&lt;br /&gt;
echo:  M200 D0&lt;br /&gt;
echo:Steps per unit:&lt;br /&gt;
echo: M92 X80.00 Y80.00 Z800.00 E100.00&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Am Ende sieht man am Wert E100.00 die Steps des Extruder pro Einheit. Das sind die sogenannten ESteps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
 M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Regeln&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26077</id>
		<title>3D-Drucker kalibrieren und einstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=3D-Drucker_kalibrieren_und_einstellen&amp;diff=26077"/>
		<updated>2022-07-07T17:06:38Z</updated>

		<summary type="html">&lt;p&gt;109.192.168.35: /* Flow Control / Fluss einstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ablauf ==&lt;br /&gt;
Was kann man Einstellen und auf was hat es Einfluss?&lt;br /&gt;
* Laufwägen - Andruck der Rollen checken&lt;br /&gt;
* Motoren eSteps kalibrieren&lt;br /&gt;
** Achsen für Maßhaltigkeit (Calibration Cube)&lt;br /&gt;
** Extruder für Flow&lt;br /&gt;
&lt;br /&gt;
== Bedleveling - Druckbett einstellen ==&lt;br /&gt;
 https://drucktipps3d.de/bettleveling-bettleveling-und-immer-wieder-bettleveling/&lt;br /&gt;
&lt;br /&gt;
* Bett vorheizen&lt;br /&gt;
* Autohome&lt;br /&gt;
* Stepper aus (außer z bei bettwewegern) &lt;br /&gt;
* links vorn, links hinten, rechts hinten, rechts vorn&lt;br /&gt;
* 2. Runde, Mitte&lt;br /&gt;
=== Feintuning ===&lt;br /&gt;
Feinausrichtung.&lt;br /&gt;
&lt;br /&gt;
Dder erste Layer entscheidet.&lt;br /&gt;
&lt;br /&gt;
* Druckobjekt aus 5 Quadraten mit ca. 20mm Kantenlänge, Höhe 0,2mm (1 Layer) &lt;br /&gt;
* 4 Ecken und der Mitte anordnen.&lt;br /&gt;
* Im Slicer Skirt mit ca. 5 Linien hinzu&lt;br /&gt;
* Geschwindigkeit drastisch reduzieren (direkt im Drucker regeln z.B. 30%), dann kann man direkt reagieren und die Haftung ist gut.&lt;br /&gt;
&lt;br /&gt;
Beim Druck des Skirt könnt Ihr optisch und mit dem Finger fühlen ob und wie die Plastewurst auf dem Druckbett haftet und könnt das Druckbett nachjustieren. &lt;br /&gt;
An den Quadraten bekommt Ihr das Ergebnis Eurer Bemühung. Eine saubere geschlossene Fläche ist das Ziel. Fehlerbilder für Düsenabstand und andere Druckprobleme findet Ihr mit Erklärung auf der Seite von Simplify 3D. &lt;br /&gt;
&lt;br /&gt;
Wiederholt diesen Ausdruck bis das Ergebnis perfekt ist.&lt;br /&gt;
&lt;br /&gt;
== Probleme und Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Stringing ===&lt;br /&gt;
* Feuchtes Filament &lt;br /&gt;
* Nozzle verschmuzt&lt;br /&gt;
* Retraction zu schwach oder/und zu schnell&lt;br /&gt;
* Kühlung falsch&lt;br /&gt;
* Bowdenzug hat viel Spiel&lt;br /&gt;
* Temperatur falsch (Heattower drucken)&lt;br /&gt;
&lt;br /&gt;
=== Über- Unterextrudierung ===&lt;br /&gt;
&lt;br /&gt;
=== Betthaftung ===&lt;br /&gt;
* Auflagefläche zu klein&lt;br /&gt;
* Nozzle zu weit weg (Druckbett leveln)&lt;br /&gt;
* Fett auf der Fläche&lt;br /&gt;
* Temperatur falsch (vor allem bei ABS etc wichtig)&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
=== Flow Control / Fluss einstellen ===&lt;br /&gt;
Den Flow kann man in Cura einstellen. &lt;br /&gt;
Landen pro Schicht wirklich 0.4mm auf dem Bett, wenn 0.4mm eingestellt sind? &lt;br /&gt;
Abhängig haupsächlich von:&lt;br /&gt;
* Extruderkalibrierung =&amp;gt; ERST MAL EXTRUDER RICHTIG KALIBRIEREN, DANN FLOW ALS FEINEINSTELLUNG FÜR FILAMENT ANPASSEN&lt;br /&gt;
* Filament - Wenn das dicker ist kommt mehr raus&lt;br /&gt;
&lt;br /&gt;
==== Flow Tests ====&lt;br /&gt;
20mm Calibration Cube laden (Wandstärke 1 Schicht)&lt;br /&gt;
&lt;br /&gt;
Cura:&lt;br /&gt;
 Linienbreite 0.4mm, Wandanzahl: 1&lt;br /&gt;
 Obere Untere Schichten 0 (nur Wände)&lt;br /&gt;
 Infill keins&lt;br /&gt;
 Flow steht auf 100%&lt;br /&gt;
&lt;br /&gt;
Nach dem Drucken Wandstärke messen (am besten nur oben wg. Elefantenfüßen)&lt;br /&gt;
&lt;br /&gt;
 Soll-Wandstärke x 100 / IstWandstärke = Flow&lt;br /&gt;
&lt;br /&gt;
z.B. 0.4 * 100 / 0.48 = 83,5&lt;br /&gt;
&lt;br /&gt;
im Zweifel vlt. eher Aufrunden (Ungenauigkeiten, Hitze... tragen eher breiter auf)&lt;br /&gt;
&lt;br /&gt;
=== Extruder Fördermenge / eSteps einstellen ===&lt;br /&gt;
&lt;br /&gt;
10cm fördern, tatsächliche Fördermenge messen&lt;br /&gt;
 Neue Steps = Alte Steps / Tatsächlich geförderte Länge * gewünschte Länge&lt;br /&gt;
Neue Werte über Display oder über Terminalsoftware im Drucker speichern.&lt;br /&gt;
==&lt;br /&gt;
Die wichtigsten Befehle für Pronterface:&lt;br /&gt;
&lt;br /&gt;
M503 = gespeicherte e Steps anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M92 E(neue Steps) = neue e Steps im System hinterlegen (Punkte keine Kommas!)&lt;br /&gt;
&lt;br /&gt;
M500 = neuen Wert in der Firmware speichern&lt;br /&gt;
&lt;br /&gt;
https://www.pronterface.com/&lt;br /&gt;
&lt;br /&gt;
Regeln&lt;br /&gt;
&lt;br /&gt;
25%-75% Regel&lt;/div&gt;</summary>
		<author><name>109.192.168.35</name></author>
	</entry>
</feed>