;; any special notes about the item
note))
+;; estimate of the cost of pla in dollars per cubic centimeter
+(define pla-$/cm^3
+ ;; this cost is an estimate taken from this site
+ ;; http://www.toybuilderlabs.com/
+ ;; blogs/news/13053117-filament-volume-and-length
+ (/ 25 800))
+
;; usually, the above code would be enough for describing a bunch of
;; items. unfortunately, the last argument, for the parameter 'note',
;; must be supplied in the default item constructor created above.
;; TODO: add actual cost for screws, nuts, and other estimated parts
;; TODO: add male-female jump wires for connecting sonar sensors
-;; TODO: add 3d printer filament cost for wheel, sonar sensor holders,
-;; caster standoff
;; TODO: add ball caster
;; TODO: checkout the following, if it's not a fraud, buy for next class
;;; (string-append
"http://www.ebay.com/itm/like/180976411359?lpid=82")
(make-item "sonar sensor hc-sr04"
2 1.39 7
- "http://www.ebay.com/itm/161156018270")))
+ "http://www.ebay.com/itm/161156018270")
+ (make-item "caster standoff"
+ 1 (* 8.2 pla-$/cm^3) 1
+ "3d print at home")
+ (make-item "wheel"
+ 2 (* 11.3 pla-$/cm^3) 1
+ "3d print at home")
+ (make-item "deck holder"
+ 2 (* 4.0 pla-$/cm^3) 1
+ "3d print at home")
+ (make-item "sonar holder"
+ 2 (* 2.4 pla-$/cm^3) 1
+ "3d print at home" "price of filament is an estimate")
+ (make-item "motor mount"
+ 2 (* 3.1 pla-$/cm^3) 1
+ "3d print at home")))
(define total-cost
(apply + (for/list ([thing bill-of-materials])