Ali's Wonderland
2016年3月16日 星期三
利用 InkScape製作3D(4):合併多個 STL檔--> 名牌完成!
將之前做好的
名字.stl
及
底座.stl
合併後,就可以得到最後要的名牌。
利用
MeshLab
合併成單一檔。
此時
名字.stl
及
底座.stl
重疊了,看不到
名字
要"往上 平移",按
T
再用
滑鼠
往上拉
按 "
Return
" 確定
現在
名字.stl
及
底座.stl
還是2個獨立的物件,必須合併在一起:
選擇
Flatten Visible Layers
最後存檔! Export as *****.stl 檔
利用 InkScape製作3D(3):將.scad檔轉成 .stl檔
前一則
利用 InkScape製作3D(2)
製作了2個.scad檔,
現在要轉成 3D印表機的檔案格式。
利用
OpenSCAD
來轉。
首先開啟檔案:
Design --- Render
Export as .STL 檔
利用 InkScape製作3D(2):2D檔案轉成 3D
將
利用 InkScape製作3D(1)
做好的.SVG檔,轉成 3D
得到 .scad檔
2個 .scad檔
利用 InkScape製作3D(1):製作2D檔案
1.製作2D檔案:
InkScape
橢圓底座
調整大小:
設定大小:
製作"洞洞"
將"洞洞"放到橢圓上
對齊2個物件:
減去
"洞洞":選取2個物件後
減去之後:
打上名字:
將'物件'轉為'路徑'
現在2D的檔案製作完成!!
存檔,SVG檔。
3D 列印的軟體
安裝以下4種軟體:
Inkscape
PathToOpenScad
OpenSCAD
MeshLab
Inkscape 安裝
:
https://inkscape.org/zh/
現在可以安裝
0.91版
只是要
下載修正檔
(因為繁體中文的緣故)
安裝完
下載修正檔
http://jackedu.blogspot.tw/2016/03/inkscape-091.html
PathToOpenScad
--將 Inkscape的 2D 轉3D
安裝
plugin
PathToOpenScad for Inkscape
下載
http://www.thingiverse.com/thing:25036/#files
下載、解壓縮後有2個檔案,
將這2個檔案放到C槽Inkscape的資料夾裏:
C:/Program Files/Inkscape/share/extensions
OpenSCAD
:將3D檔案轉成 .STL檔
http://www.openscad.org/
MeshLab
:
可以將數個 .STL 檔合併
http://meshlab.sourceforge.net/
2015年11月11日 星期三
Arduino 0 連結
TED ------ Massimo Banzi: Arduino 是如何打開想像力的
Arduino 課程
Arduino入門套件中文字幕教學第一課
Arduino 入門套件中文字幕教學第二課
Arduino 入門套件中文字幕教學第三課
2015年11月9日 星期一
Arduino 9:超聲波測距離
超聲波感測器 HCSR04
const byte
trigPin
= 10; // 超音波模組的觸發腳
const int
echoPin
= 9; // 超音波模組的接收腳
unsigned long d; // 儲存高脈衝的持續時間
unsigned long
ping() {
digitalWrite(
trigPin
, HIGH); // 觸發腳設定成高電位
delayMicroseconds(5); // 持續 5 微秒
digitalWrite(
trigPin
, LOW); // 觸發腳設定成低電位
return pulseIn(
echoPin
, HIGH); // 傳回高脈衝的持續時間
}
void setup() {
pinMode(
trigPin
, OUTPUT); // 觸發腳設定成「輸出」
pinMode(
echoPin
, INPUT); // 接收腳設定成「輸入」
Serial.begin(9600); // 初始化序列埠
}
void loop(){
d
=
ping()
/ 58
; // 把高脈衝時間值
換算成公分
單位
Serial.print(
d
); // 顯示距離
Serial.print("cm");
Serial.println();
delay(1000); // 等待一秒鐘(每隔一秒測量一次)
}
顯示在LCD上
//------------------------- LCD
//Library version:1.1
#include <
Wire.h
>
#include <
LiquidCrystal_I2C.h
>
#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args) write(args);
#else
#define printByte(args) print(args,BYTE);
#endif
LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line
//-------------------------
//+ + + + + + + + + + + 超音波模組
const byte trigPin = 13; // 超音波模組的觸發腳
const int echoPin = 12; // 超音波模組的接收腳
unsigned long d; // 儲存高脈衝的持續時間
unsigned long
ping() {
digitalWrite(trigPin, HIGH); // 觸發腳設定成高電位
delayMicroseconds(5); // 持續 5 微秒
digitalWrite(trigPin, LOW); // 觸發腳設定成低電位
return pulseIn(echoPin, HIGH); // 傳回高脈衝的持續時間
}
//+ + + + + + + + + + +
void setup() {
//------------------------- LCD
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print ("Distance= ");
//------------------------- LCD
//+ + + + + + + + + + + 超音波模組
pinMode(trigPin, OUTPUT); // 觸發腳設定成「輸出」
pinMode(echoPin, INPUT); // 接收腳設定成「輸入」
//Serial.begin(9600); // 初始化序列埠
//+ + + + + + + + + + +
}
void loop(){
//+ + + + + + + + + + + 超音波模組
d = ping() / 58; // 把高脈衝時間值換算成公分單位
//Serial.print(d); // 顯示距離
//Serial.print("cm");
//Serial.println();
//------------------------- LCD
lcd.setCursor(9, 1);
lcd.print((unsigned long) d );
// lcd.setCursor(14, 1);
lcd.print ("cm");
//------------------------- LCD
delay(1000); // 等待一秒鐘(每隔一秒測量一次)
}
較新的文章
較舊的文章
首頁
訂閱:
文章 (Atom)