RepRap 3D-Drucker

RepRap 3D-Drucker

Donnerstag, 15. Oktober 2009

Konverter

Hallo zusammen
Ich habe es nun geschafft einen Konverter zu programmieren, der die Exponentialdarstellung in Dezimaldarstellung konvertiert. Der Konverter ist wie folgt aufgebaut:

#include
#include
#include
#include
#include 
#define TEMP_FILE_NAME "STL_$tep$.STL"
void ParseString(char *pcString)
{
  char caVar1[200];
  char caVar5[200];
  float fVar2;
  float fVar3;
  float fVar4;
  if(strstr(pcString,"endfacet"))
    ;
  else if(strstr(pcString,"facet"))
  {
    // "facet normal 0 1 0" parsen
    sscanf(pcString,"  %s %s %f %f %f\n",caVar1, caVar5, &fVar2, &fVar3, &fVar4);
    sprintf(pcString,"   %s %s %f %f %f\n",caVar1, caVar5, fVar2, fVar3, fVar4);
  }
  if(strstr(pcString,"vertex"))
  {
    // "vertex 0 40 16" parsen
    sscanf(pcString,"         %s %f %f %f\n",caVar1, &fVar2, &fVar3, &fVar4);
    sprintf(pcString,"         %s %f %f %f\n",caVar1, fVar2, fVar3, fVar4);
  }
}
int main(int argc, char *argv[])
{
  FILE *pFileRead;    // Datei zum lesen
  FILE *pFileWrite;   // Datei zum schreiben
  //char caOutputFileName[PATH_MAX+1];
  char caSTLBuffer[20000];   // Buffer mit eingelesenem String aus Datei (pFileRead)
  char *pcRc;

  if(argc<2)
  {
    // Fehler: kein Parameter angegeben
    printf("Format: %s \n",argv[0]);
    exit(0);
  }

  pFileRead = fopen(argv[1],"r");
  if(pFileRead==NULL)
  {
    printf("Fehler bei öffnen von Datei \"%s\"\n",argv[1]);
    exit(1);
  }
  pFileWrite = fopen(TEMP_FILE_NAME,"w");
  if(pFileWrite==NULL)
  {
    printf("Fehler beim schreiben");
    exit(2);
  }

  for(;;)
  {
    pcRc=fgets(caSTLBuffer,sizeof(caSTLBuffer),pFileRead);
    if(pcRc==0)
      break;  
    ParseString(caSTLBuffer);
    fprintf(pFileWrite,caSTLBuffer);
  }

  fclose(pFileRead);
  fclose(pFileWrite);

  if(remove(argv[1])==0)
  {
    if(rename(TEMP_FILE_NAME,argv[1])!=0)
    {
      printf("Datei nicht umbenannt\n");
      return(3);
    }
  }
  return(0);
}

Gruss

Jürg Binggeli

Mittwoch, 7. Oktober 2009

Probleme mit der zweiten Layeraufnahme

Hallo zusammen

Die Software läuft nun. In der X und Y Achse kann er nun ein Bild drucken. Probleme gibts sobald wir versuchen den zweiten Layer aufzutragen. Die Z Achse funktioniert einwandfrei, doch der zweite Layer haftet nicht auf dem ersten. Mögliche Ursachen sind ein zu grosser Abstand der Extruderspitze zum ersten Layer oder eine zu niedrige Temperatur der Heizpatrone. Wir versuchen nun das Problem mit neuen Einstellungen zu lösen.


Gruss
Lars Neuhold

Donnerstag, 1. Oktober 2009

Testdruck

Hallo zusammen

Der Drucker ist soweit fertig, Probleme gibts noch bei der Software, an denen Jürg momentan noch arbeitet.

Wir werden in den nächsten Tagen den ersten 3D Druck durchführen.


Gruss
Lars Neuhold