JPH04503634A - 立体造形方法および装置 - Google Patents
立体造形方法および装置Info
- Publication number
- JPH04503634A JPH04503634A JP1511123A JP51112389A JPH04503634A JP H04503634 A JPH04503634 A JP H04503634A JP 1511123 A JP1511123 A JP 1511123A JP 51112389 A JP51112389 A JP 51112389A JP H04503634 A JPH04503634 A JP H04503634A
- Authority
- JP
- Japan
- Prior art keywords
- liquid
- layer
- level
- polymerizable liquid
- blade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000005855 radiation Effects 0.000 claims abstract description 22
- 239000012530 fluid Substances 0.000 claims abstract description 8
- 239000000463 material Substances 0.000 claims abstract description 7
- 239000007788 liquid Substances 0.000 claims description 218
- 230000003287 optical effect Effects 0.000 claims description 29
- 238000007790 scraping Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 15
- 230000005670 electromagnetic radiation Effects 0.000 claims description 11
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000007654 immersion Methods 0.000 claims description 7
- 229920000642 polymer Polymers 0.000 claims description 6
- 238000007667 floating Methods 0.000 claims description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 238000006116 polymerization reaction Methods 0.000 claims description 3
- 230000001568 sexual effect Effects 0.000 claims description 2
- 230000001939 inductive effect Effects 0.000 claims 4
- 238000009499 grossing Methods 0.000 claims 2
- 230000002195 synergetic effect Effects 0.000 claims 2
- 238000010894 electron beam technology Methods 0.000 claims 1
- 239000011347 resin Substances 0.000 abstract description 133
- 229920005989 resin Polymers 0.000 abstract description 133
- 239000004033 plastic Substances 0.000 abstract description 9
- 229920003023 plastic Polymers 0.000 abstract description 9
- 239000010410 layer Substances 0.000 description 118
- 210000003127 knee Anatomy 0.000 description 90
- 230000008569 process Effects 0.000 description 23
- 238000004519 manufacturing process Methods 0.000 description 21
- 238000001723 curing Methods 0.000 description 18
- 229940075591 dalay Drugs 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 239000000047 product Substances 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 230000009850 completed effect Effects 0.000 description 5
- 241001417527 Pempheridae Species 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 235000013305 food Nutrition 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000037303 wrinkles Effects 0.000 description 4
- 238000010146 3D printing Methods 0.000 description 3
- 241000252067 Megalops atlanticus Species 0.000 description 3
- 101100172288 Pseudomonas fluorescens biotype A endX gene Proteins 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 150000002500 ions Chemical class 0.000 description 3
- 239000002689 soil Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006641 stabilisation Effects 0.000 description 3
- 238000011105 stabilization Methods 0.000 description 3
- 210000002784 stomach Anatomy 0.000 description 3
- PRPINYUDVPFIRX-UHFFFAOYSA-N 1-naphthaleneacetic acid Chemical compound C1=CC=C2C(CC(=O)O)=CC=CC2=C1 PRPINYUDVPFIRX-UHFFFAOYSA-N 0.000 description 2
- WOZQBERUBLYCEG-UHFFFAOYSA-N SWEP Chemical compound COC(=O)NC1=CC=C(Cl)C(Cl)=C1 WOZQBERUBLYCEG-UHFFFAOYSA-N 0.000 description 2
- HEMHJVSKTPXQMS-UHFFFAOYSA-M Sodium hydroxide Chemical compound [OH-].[Na+] HEMHJVSKTPXQMS-UHFFFAOYSA-M 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- CPBQJMYROZQQJC-UHFFFAOYSA-N helium neon Chemical compound [He].[Ne] CPBQJMYROZQQJC-UHFFFAOYSA-N 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000003921 oil Substances 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003756 stirring Methods 0.000 description 2
- 235000012976 tarts Nutrition 0.000 description 2
- WLNBMPZUVDTASE-HXIISURNSA-N (2r,3r,4s,5r)-2-amino-3,4,5,6-tetrahydroxyhexanal;sulfuric acid Chemical compound [O-]S([O-])(=O)=O.O=C[C@H]([NH3+])[C@@H](O)[C@H](O)[C@H](O)CO.O=C[C@H]([NH3+])[C@@H](O)[C@H](O)[C@H](O)CO WLNBMPZUVDTASE-HXIISURNSA-N 0.000 description 1
- 239000004925 Acrylic resin Substances 0.000 description 1
- 229920000178 Acrylic resin Polymers 0.000 description 1
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 1
- 241001650890 Alsia Species 0.000 description 1
- 101100223777 Arabidopsis thaliana DET2 gene Proteins 0.000 description 1
- 101100107106 Arabidopsis thaliana ZED1 gene Proteins 0.000 description 1
- 102000016605 B-Cell Activating Factor Human genes 0.000 description 1
- 108010028006 B-Cell Activating Factor Proteins 0.000 description 1
- 101150118831 CRO1 gene Proteins 0.000 description 1
- 235000005459 Digitaria exilis Nutrition 0.000 description 1
- 241000257465 Echinoidea Species 0.000 description 1
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 1
- 101001126084 Homo sapiens Piwi-like protein 2 Proteins 0.000 description 1
- 101100000065 Mus musculus Accsl gene Proteins 0.000 description 1
- 101100476480 Mus musculus S100a8 gene Proteins 0.000 description 1
- 101100491995 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) aro-1 gene Proteins 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 102100029365 Piwi-like protein 2 Human genes 0.000 description 1
- 244000046146 Pueraria lobata Species 0.000 description 1
- 235000010575 Pueraria lobata Nutrition 0.000 description 1
- 241001115903 Raphus cucullatus Species 0.000 description 1
- 241000220317 Rosa Species 0.000 description 1
- 101100086088 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) QCR7 gene Proteins 0.000 description 1
- 241000290149 Scapteriscus didactylus Species 0.000 description 1
- 241000290158 Scapteriscus vicinus Species 0.000 description 1
- 241000252141 Semionotiformes Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000004809 Teflon Substances 0.000 description 1
- 229920006362 Teflon® Polymers 0.000 description 1
- 241001300059 Theba Species 0.000 description 1
- GYMWQLRSSDFGEQ-ADRAWKNSSA-N [(3e,8r,9s,10r,13s,14s,17r)-13-ethyl-17-ethynyl-3-hydroxyimino-1,2,6,7,8,9,10,11,12,14,15,16-dodecahydrocyclopenta[a]phenanthren-17-yl] acetate;(8r,9s,13s,14s,17r)-17-ethynyl-13-methyl-7,8,9,11,12,14,15,16-octahydro-6h-cyclopenta[a]phenanthrene-3,17-diol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1.O/N=C/1CC[C@@H]2[C@H]3CC[C@](CC)([C@](CC4)(OC(C)=O)C#C)[C@@H]4[C@@H]3CCC2=C\1 GYMWQLRSSDFGEQ-ADRAWKNSSA-N 0.000 description 1
- LUTSRLYCMSCGCS-BWOMAWGNSA-N [(3s,8r,9s,10r,13s)-10,13-dimethyl-17-oxo-1,2,3,4,7,8,9,11,12,16-decahydrocyclopenta[a]phenanthren-3-yl] acetate Chemical compound C([C@@H]12)C[C@]3(C)C(=O)CC=C3[C@@H]1CC=C1[C@]2(C)CC[C@H](OC(=O)C)C1 LUTSRLYCMSCGCS-BWOMAWGNSA-N 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 235000015241 bacon Nutrition 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- UIZLQMLDSWKZGC-UHFFFAOYSA-N cadmium helium Chemical compound [He].[Cd] UIZLQMLDSWKZGC-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004581 coalescence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000007598 dipping method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000001704 evaporation Methods 0.000 description 1
- 230000008020 evaporation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 239000013505 freshwater Substances 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005499 meniscus Effects 0.000 description 1
- CMWTZPSULFXXJA-VIFPVBQESA-N naproxen Chemical compound C1=C([C@H](C)C(O)=O)C=CC2=CC(OC)=CC=C21 CMWTZPSULFXXJA-VIFPVBQESA-N 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 235000021251 pulses Nutrition 0.000 description 1
- 238000003847 radiation curing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000002791 soaking Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 235000021147 sweet food Nutrition 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
- NWONKYPBYAMBJT-UHFFFAOYSA-L zinc sulfate Chemical compound [Zn+2].[O-]S([O-])(=O)=O NWONKYPBYAMBJT-UHFFFAOYSA-L 0.000 description 1
- GVJHHUAWPYXKBD-IEOSBIPESA-N α-tocopherol Chemical compound OC1=C(C)C(C)=C2O[C@@](CCC[C@H](C)CCC[C@H](C)CCCC(C)C)(C)CCC2=C1C GVJHHUAWPYXKBD-IEOSBIPESA-N 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C35/00—Heating, cooling or curing, e.g. crosslinking or vulcanising; Apparatus therefor
- B29C35/02—Heating or curing, e.g. crosslinking or vulcanizing during moulding, e.g. in a mould
- B29C35/08—Heating or curing, e.g. crosslinking or vulcanizing during moulding, e.g. in a mould by wave energy or particle radiation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D9/00—Level control, e.g. controlling quantity of material stored in vessel
- G05D9/12—Level control, e.g. controlling quantity of material stored in vessel characterised by the use of electric means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C41/00—Shaping by coating a mould, core or other substrate, i.e. by depositing material and stripping-off the shaped article; Apparatus therefor
- B29C41/02—Shaping by coating a mould, core or other substrate, i.e. by depositing material and stripping-off the shaped article; Apparatus therefor for making articles of definite length, i.e. discrete articles
- B29C41/12—Spreading-out the material on a substrate, e.g. on the surface of a liquid
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/10—Processes of additive manufacturing
- B29C64/106—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/10—Processes of additive manufacturing
- B29C64/106—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
- B29C64/124—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using layers of liquid which are selectively solidified
- B29C64/129—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using layers of liquid which are selectively solidified characterised by the energy source therefor, e.g. by global irradiation combined with a mask
- B29C64/135—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using layers of liquid which are selectively solidified characterised by the energy source therefor, e.g. by global irradiation combined with a mask the energy source being concentrated, e.g. scanning lasers or focused light sources
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F23/00—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
- G01F23/22—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water
- G01F23/28—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water by measuring the variations of parameters of electromagnetic or acoustic waves applied directly to the liquid or fluent solid material
- G01F23/284—Electromagnetic waves
- G01F23/292—Light, e.g. infrared or ultraviolet
- G01F23/2921—Light, e.g. infrared or ultraviolet for discrete levels
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F23/00—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
- G01F23/30—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by floats
- G01F23/32—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by floats using rotatable arms or other pivotable transmission elements
- G01F23/36—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by floats using rotatable arms or other pivotable transmission elements using electrically actuated indicating means
- G01F23/366—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by floats using rotatable arms or other pivotable transmission elements using electrically actuated indicating means using optoelectrically actuated indicating means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29K—INDEXING SCHEME ASSOCIATED WITH SUBCLASSES B29B, B29C OR B29D, RELATING TO MOULDING MATERIALS OR TO MATERIALS FOR MOULDS, REINFORCEMENTS, FILLERS OR PREFORMED PARTS, e.g. INSERTS
- B29K2995/00—Properties of moulding materials, reinforcements, fillers, preformed parts or moulds
- B29K2995/0037—Other properties
- B29K2995/0072—Roughness, e.g. anti-slip
- B29K2995/0073—Roughness, e.g. anti-slip smooth
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
立体造形による層の再コーテイング
本発明は三次元物体の製造のための改良された立体造形の方法および装置に関す
る。
近年、「立体造形による三次元物体の製造のための装置」と題する米国特許第4
.575.330号に記載されたような「立体造形」システムが実用化されてい
る。
基本的に、立体造形は、重合性液体の多数の薄層を各層の上に連続的に硬化させ
、すべての薄層が結合されて部品全体を形成させることにより、複雑な立体プラ
スチック部品を自動的に製作するための方法である。重合化された各層は、本質
的に、希望の三次元物体の薄い横断面である。この技術では、部品は、文字通り
、液状プラスチックの槽の中で産み出される。この加工方法は、設計構想を迅速
に具体的な形状にし、原型を作るために極めて有効である。さらに、複雑な部品
も工具を要さずに迅速に製作できる。このシステムは、コンピュータを利用して
断面パターンを生成するので、CAD/CAMシステムと容易に連結することが
できる。
現在、好ましい重合体は紫外線で硬化するものであり、その硬化はそれらを実用
的な模型製作材料とするほど十分に高速である。部品製作時に重合化されない液
体はそのまま使用可能であり、槽内に残って以後の部品を製作することができる
。紫外線レーザが、既定のパターンで検流計鏡X−Y走査装置によりその液体の
表面上を移動する小さな高強度の紫外線スポットを作る。走査装置は、コンピュ
ータ生成ベクトルなどによって駆動される。精密かつ複雑なパターンがこの技術
によって容易に作成できる。
立体造形システムには、レーザ走査装置、重合性液体を入れるための槽、槽内を
上下できる物体支持台、および、制御コンピュータが含まれる。システムは、一
度に一つの薄層断面を形成し、層単位で希望の三次元物体を作り上げることによ
りプラスチック部品を自動的に製作するようにプログラムされる。
通常の立体造形手順では、粘稠な硬化性プラスチック液体の薄層がすでに硬化し
ているはずの層の上に付与され、その重合性液体の薄層が重力によって平滑にな
るだけの十分な時間が経過した後、コンピュータ制御放射線゛ ビームが薄層上
を移動し、そのプラスチック液体を十分に硬化させ、その上に以後の層が付与で
きるようにする。
薄層が平滑になるための待機時間は、重合性液体の粘度、層の厚さといったいく
つかの要因によって異なる。
通常、硬化層は、垂直可動な物体支持台に支持されており、液状プラスチックが
硬化層上に満たされるように希望の層厚さに等しい距離だけ、粘稠重合性液体の
浴の表面下に浸漬される。表面が平坦になると、層は放射線による硬化の準備が
整ったことになる。
立体造形の詳細については、完全に述べられたものとして、それぞれに付帯され
た付属書または参照によりそれぞれと一体を成す資料を含む、参照によりそのま
ま本明細書と一体を成す、米国特許第4,575.330号および以下に挙げる
係属中の米国特許出願書に論及されている。
米国特許出願番号第339,246号「立体造形におけるカールの低減J (1
989年4月17日出願)米国特許出願番号第331.664号「立体造形によ
る高分解能三次元物体の製造のための方法および装置」(1989年3月31日
出願)
米国特許出願番号第183,015号[立体造形による三次元物体の製造のため
の方法および装置J (1988年4月18日出願)
米国特許出願番号第182,801号[立体造形による三次元物体の製造のため
の方法および装置J (1988年4月18日出願)
米国特許出願番号第268,429号「部分重合化部品を硬化させるための方法
J (1988年11月8日出願)
米国特許出願番号第268,428号「部分重合化部品を仕上げるための方法J
(1988年11月8日出願)米国特許出願番号箱268,408号「部分重
合化部品から排液するための方法J (1988年11月8日出願)
米国特許出願番号箱268’、816号「ビームの輪郭を描くための装置および
方法J (1988年11月8日出願)
米国特許出願番号箱268.907号「立体造形による製造におけるドリフトを
補正するための装置および方法J(1,988年11月8日出願)
米国特許出願番号箱268,837号「立体造形装置を較正・標準化するための
装置および方法J(1,988年11月8日出願)
米国特許出願番号箱249,399号F立体造形による三次元物体の製造のため
の方法および装置J (1988年9月26日出願)
米国特許出願番号箱365.444号「統合化立体造形J (1989年6月1
2日出願)
米国特許出願番号箱265,039号「液体の水準を測定・制御するだめの装置
および方法J (1988年10月31日出願)
現在必要とされており、これまで利用できなかったことは、プラスチックの各層
を形成するためのサイクル時間を短縮するための手段である。本発明は、その必
要性を満たすものである。
本発明はまた、液体の水準を測定・制御するための装置および方法、特に、立体
造形装置における使用液体の水準を測定・制御するための装置および方法に関す
る。
多くの科学実験および工業用途では、液体の水準の測定を必要とする。ここで用
いる「液体の水準」とは、重力場または他の加速座標系における液体表面の高度
を意味する。この表面は、その液体の上表部のこともあれば、(液体が別の液体
の上に浮いている場合)下部のこともある。液体は、多くの可能性が考えられ、
海でもあり、自動車のガソリンタンク内のガソリンでもあり、試験管内の液体薬
品でもあり得る。こうした液体の水準を測定するために、浸漬棒、杭の側面に塗
装された線、試験管側面の印、フロートなど、各種の手段が長年にわたって採用
されている。しかし、液体の水準を極めて精密かつ高い信頼性をもって測定でき
る装置の必要性が存在する。
この種の装置は、工業用途で特に有益であり、液体の水準を希望の高度に維持す
るためにポンプのプランジャ、ダイヤフラムその他の、:11節装置などの水準
維持装置と組み合わせることができる。
特に、立体造形装置は、使用液体の水準の極めて精確な管理を必要とする。前述
のチャールズ・W、ハルの米国特許第4,575.330号は、立体造形による
三次元物体の製造のための装置を開示している。この立体造形装置で用いられる
使用液体は、通常、紫外線の照射によって硬化可能な液状感光性重合体である。
米国特許第4.575,330号に記載されているように、好ましい実施例にお
ける使用液体の水準は、紫外線のビームが一定の平面で精確に焦点を維持するよ
うに一定の水準に維持されなければならない。
液状感光性重合体の表面の紫外線ビームの全強度および強度分布(「ビームの輪
郭」)は、他の要因(液状感光性重合体の特性、ビームが単一のスポットに留ま
っている時間など)と関連して、ビームの暴露により硬化または重合化する感光
性重合体の深さおよび輪郭を決定する。ビームの輪郭は、ビームが液状感光性重
合体の既定の水準で既知の輪郭を有するように焦点を結ぶので、液状感光性重合
体の水準によって異なる。液状感光性重合体が既定の水準と異なる水準を有した
場合、ビームの輪郭の相違は、硬化した感光性重合体の幅およびその深さを予定
の深さおよび幅とは異なるものにさせる。
さらに、液状感光性重合体の水準が既定の水準よりも高ければ、硬化した感光性
重合体の深さは、先行の硬化層まで到達して付着するために十分でなく、物体の
構造結合性にとって不都合な結果を生じることになる。反対に液状感光性重合体
の水準が低ければ、新しい層が予定よりも薄くなり、物体の再現精度に不都合と
なる。
液状感光性重合体の水準は、液状感光性重合体の硬化、加熱、蒸発などによって
生じる収縮にかかわらず維持されなければならない。立体造形装置の初期の機種
では、この水準は、排液路を設けることによって維持していた。
液状感光性重合体の水準は、排液路をわずかに超える所まで(表面張力により)
上昇した。しかし、排液路は、立体造形装置によって作成される部品の高分解能
を可能にするほど十分な精度で液状感光性重合体の水準を管理できない。従って
、液体の水準を測定するさらに精密な手段の必要性が存在する。
要約すれば、本発明は、適切な放射エネルギに応答して硬化する重合性液体の表
面で当該の物体の連続的な薄肉の横断面単層を形成することによって三次元物体
を作成するための新しい改良された立体造形システムを提供する。本発明は特に
、この方法によって形成される各層のサイクル時間を短縮するための改良された
立体造形の方法およびシステムに関する。
本発明に従えば、初めに、重合性液体の層が物体支持台の表面に付与される。希
望の層厚さの平滑な層を得るために層の表面上をブレードで引くことにより、余
分な重合性液体が層から掻き取られる。放射線などの硬化媒質が平滑にされた層
の上表面または作業表面に事前に選択されたパターンで当てられ、それによりそ
の層が十分に硬化し、希望の三次元物体を形成するために以降の層が同様にして
付与され硬化できるようにする。
現在好ましい実施例では、物体支持台は、それらの層が付与される表面を有して
おり、槽内の重合性液体の浴中を上下できるように適応され設けられている。支
持台は、その表面(最新の硬化層の場合もある)が、一般には希望の層厚さより
も大きい距離だけ重合性液体の浴の上面より下にあるように洛中に下げられる。
次に支持台は、表面の粘稠な重合性液体が浴の上面よりも上に位置するように引
き上げられる。水平移動ドクターブレードが希望の厚さの重合体の液層ができる
ように余分な重合性液体を掻き取る。支持台は平滑にされた重合性液体の層の上
面が浴とほぼ同じ水準になるように下げられる。
その後、硬化放射線が図形パターンで平滑にされた層の上に当てられ、その薄い
液体層を硬化させ、その結果、以降の1以上の重合性液体の層がその上に付与で
きるようになる。一部硬化した固体層を持った物体支持台は、重合性液体がその
固体層上に流入できるように浴の表面からさらに下げられ、上記のサイクルが繰
り返される。
このプロセスは、それらの層を一体に結合しながら多数の連続的に形成される層
の作成によって、希望の三次元物体が形成されるまで継続する。立体造形の最終
製品は、以後の取扱いに対して十分な強さを有していなければならない。通常、
物体は形成後に最終硬化が行われる。
上記の手順において、浴中の重合性液体の水準は、特にその平滑にされた層が浴
中に下げられて放射線によって硬化される際に一定の水準に維持されるように注
意しなければならない。本質的に、浴中の液体が液体の平滑な層の境界を形成す
るからである。現在好ましい実施例では、浴の水準が適切な方法で検出され、あ
る水準が希望の水準と比較され、その差異に応答して、浴内のピストンまたはプ
ランジャが水準を希望の設定点に制御するように浴内で上下する。
三次元物体は、光硬化性樹脂の表面をヘリウム−カドミウムレーザによる紫外線
などの放射ビームを移動させ、それが当たった部位の液体を凝固させることによ
って一度に1水平層ずつ形成される。樹脂の吸収により紫外線が深く透過するの
を妨げ、薄層が形成されるようにする。
本発明はまた、電磁線ビームを発生するだめの装置、および、衝突してくる電磁
線ビームの位置の変化に応答して電気信号を変化させる検出器を含む、液体の水
準を測定するための新しい改良された装置を提供する。このビーム検出器は、液
体の水準に対して垂直方向の一定距離に設置される。ビームは、液体表面に対し
て一定の角度で第1の光路に沿って液体表面に向けて発せられ、液体表面から検
出器への第2の光路に沿ってビーム検出可能位置に反射される(ビームは可視光
である必要はないが、「光路」という用語を使用する)。液体の水準の変化は、
ビームが検出器に衝突する地点を変え、それによっで検出器からの電気信号の変
化を生じさせる。この信号は、その後、ポンプ、ダイヤフラム、プランジャなど
の液体の水準を管理する装置を制御するために使用することができる。
液体の表面は、平坦である、または、液体の表面の高度が変化する場合でも、ビ
ームに関して同一角度を保つものと仮定する。従って、ビームが液体表面から反
射する角度は変化しない。表面が平坦でない場合、ビームは反射されないか、ま
たは、予測できない角度で反射される。波または乱れが予想される場合は、偏揺
れ、縦揺れおよび横揺れを防止するように加重された鏡付フロートを液体表面に
置いてビームを反射させてもよい。
好ましい実施例では、電磁線ビームを発生させるための装置はレーザであり、検
出器は液体表面に垂直方向に沿って液体表面からずらして位置する多数の結合さ
れた光電池である。レーザによる放射線は、好ましくは、液体の状態を変化させ
てならない。光電池のそれぞれの電気出力を比較し、それによってビームが光電
池に衝突した時のビームの位置の移動を検出するために、電子回路が備わってい
る。液体の水準が変化すると、ビームはそれ以上、同じ位置の光電池に衝突しな
い。ある光電池は以前より多くのビームを受け、別の光電池は以前より少なく受
ける。これが、作用される光電池のそれぞれからの電気出力を変化させる。比較
回路がこの相違を検出し、液体の水準を表示する計器もしくは液体の水準を変化
させるための装置(プランジャなど)のいずれか一方、または、双方を駆動させ
る。
本発明の液体の水準を測定するための装置は、迅速で、高信頼性を有する、極め
て敏感に反応する装置である。
この装置は、液体の水準を極めて精密に測定し、それに従って極めて精確にその
水準を維持することができる。
現在、本発明に従って製作された液体の水準測定装置は、少なくとも±0.5ミ
ル(±0.005インチ)の範囲内で液体の水準を測定しく維持する)ことがで
きる。
すなわち、本発明の立体造形の方法および装置は、形成される各層のサイクル時
間を著しく短縮し、寸法精度を向上させ、未処理強度および最終硬化強度を増大
させる。さらに本発明の水準測定・制御装置は、液体の水準を迅速に、高信頼性
をもって、精確に測定できるシステムの長期にわたって存在する必要性を満たす
ものである。
本発明の上記その他の目的および利益は、例示的な実施例の添付図面と併せて、
以下の詳細な説明によって明らかとなろう。
第1図は、本発明の特徴を具体化した立体造形システムの断面図である。
第2図は、第1図に示す実施例をさらに説明する第1図のシステムの斜視図であ
る。
第3図から第6図は、立体造形の手順の各段階における第1図に示す槽の略断面
図である。
第7図は、本発明に従って製作された三次元物体の斜視図である。
第8図は、本発明の液体の水準測定装置の好ましい実施例を備えた立体造形装置
の一部の斜視図である。
第9図は、本発明の好ましい実施例の側面立面図である。
第10図は、液体の水準および入射角を変化させた条件のもとての本発明の好ま
しい実施例のレーザビームがとる光路の側面立面図である。
第11図は、本発明の好ましい実施例で使用される2セル型光検出器の正両立面
図である。
第12図は、本発明の好ましい実施例の2セル型光検出器と関係する電子部品の
ブロック図である。
第13図は、閉鎖容積問題の説明図である。
第14図は、ブレードギャップ設定用のねし山付伸縮自在針の説明図である。
第15図は、ブレードに取り付けられた針の拡大図である。
第16図は、ブレード移動方向の迎え角を有するブレードの断面図である。
第17図から第19図は、第16図のブレードの別様の断面形状の説明図である
。
第20図は、水準検出フロートの別様の形状の説明図である。
第21図は、フロートを含む水準検出装置の説明図である。
第22図は、第21図の装置の光検出器の説明図である。
第23図は、5LA−250で使用されている再コーテイング用ソフトウェアの
フローチャートである。
第1図および第2図は、本発明の特徴を具体化した三次元物体を形成するための
立体造形システムを図式的に示すものである。これらの図面に示すように、槽1
0は重合性液体の浴11を入れるために備わっている。物体支持台12は、槽1
0内に配置されており、モータ(図示せず)によって槽内を上下するようにフレ
ーム要素13および14によって適合されている。支持台12は、そこに本発明
に従って三次元物体が形成される部位である水平表面15を有している。槽10
には、その一方の壁面の上部にトラフ16が設けてあり、トラフ内にはプランジ
ャまたはピストン17が配置されており、槽10内の重合性液体の上面20の水
準を制御するためにモータ18によって上下される。
浴11の上面20の水準は、ある角度で上面20に向けられているHe−Neレ
ーザなどの線源21および、2セル型検田器などが可能である放射線検出器22
によって検出される。検出器22の位置は、He−Neレーザからの放射線を受
けるように上面20に関して余角をとるように調整される。モータ18によるプ
ランジャ17の移動を制御するために制御システム23が備えられている。
コンピュータ制御放射線源24が浴]1の上方に配置されており、浴11の上面
20に既定のパターンで紫外線その他の種類の硬化放射線などの硬化媒質を発し
、当該の放射線が作用した部分の支持台上の層の重合性液体を硬化させる。線源
24の移動および動作ならびに物体支持台12の上下動は、以下に詳述するよう
に、本発明のシステムのコンピュータ制御システム25の一体部分である。
槽10の上部にドクターブレード26が装備されており、槽の上部を水平方向に
移動するように適応されている。ブレード支持27は、槽10の一方の側面に沿
って配置されたレール30および31に滑動できるように設置されている。ねじ
山付駆動軸32がブレード支持27のねし山付通路(図示せず)を通っており、
モータ33による軸の回転によってブレード支持27が移動し、それによりブレ
ード26が槽の上部を水平に移動する。
第1図および第2図に示した立体造形システムの動作は、一連の図面、第3図か
ら第6図によく示されている。
まず第3図において、物体支持台12が、その水平表面]5が浴の上面20から
れずかな距離に位置するように重き性液体の浴11内に位置決めされることから
立体造形の手順は始まる。この距離は、硬化される重合性液体の層の希望の厚さ
よりも大きい。水平表面15のすぐ上の重合性液体の層が、硬化した時に、三次
元物体の最初の固体層を形成する。
プロセスの次の段階は第4図に示される。物体支持台12は、水平表面15上の
重合性液体の層34が浴11の上面20より上に保たれるように引き上げられる
。この重合性液体は比較的粘稠な液体であり、そのため、層が浴から引き上げら
れた時に、支持台12の水平表面15の縁からすぐに流出しない。ドクターブレ
ード26が水平方向に移動し、その下縁35が層34から余分な重合性液体を掻
き取り、上部作業表面36を平滑にする。
作業表面36に希望の水準を付与するために適切なブレード速度が経験的に決定
される。さらに、平滑な水準34を付与するために特定の速度でドクターブレー
ド26による1以上のパスが必要な場合もある。通常のブレード速度は、はぼ毎
秒1〜10インチの間であろう。低粘度の重合性液体が使用される場合は、硬化
するまで液体を留めておく囲い枠を用いてもよい。
層34の作業表面36がドクターブレード26によってならされた後、物体支持
台12は第5図に示すように浴11中に下げられ、層34の平滑作業表面36は
浴11の上面20と同じ高さ、すなわち同一平面となる。層34を囲む浴11の
重合性液体は、本質的に層36の外周を支持する壁となる界面37を形成する。
物体支持台12および層34の浴11への浸漬によって生じる作業表面34また
は浴11の上面20のいずれの乱れも、比較的わずかであり、すぐにおさまる。
コンピュータ制御放射線源24は、上面の何らかの乱れを解消するために短い遅
延をもって作動され、好ましくは紫外線その他の適切な放射線である硬化媒質を
既定のパターンで層34の作業表面36上に当て、放射線が作用する部位の重合
性液体を硬化させる。層34は十分に硬化され、以後同様にして作成される付加
的な層を支えるために、また、立体造形が終わり最終硬化前の成形物体の取扱い
を容易にするために必要な未処理強度を得る。
層34の照射後、物体支持台12はさらに、第6図に示すように引き下げられ、
浴11から重合性液体が先行の硬化層34上に流入し、新しい層38を形成し、
プロセスの新たなサイクルが開始される。
上述のようにして、一連の重合化した層が第1図に示すように積層され、このと
き各層は事実上、希望の三次元物体40の薄い断面である。個々の層の厚さは、
重合性液体の組成および粘度ならびに硬化放射媒質の性質および強度にもとづい
て変更できる。しかし、通常の厚さは、約0.005から0.01インチまでの
範囲である。
前述の立体造形システムによって形成された最終三次元物体40は、槽10から
取り出され、三次元物体の境界表面内に残っている未硬化材料の硬化を完了させ
るためにさらに処理が行われる。必要な場合、サンダ仕上げなどの表面仕上げを
行ってもよい。
本発明では、広範な硬化媒質と同様、各種の重合性液体が使用できる。しかし現
在のところ、アクリル樹脂などの光重合性液体が、その硬化のための紫外線とと
もに好ましい。好ましくは、重合性液体の粘度は、100センチポアズを超えな
ければならず、約1000〜6000センチポアズの範囲が好ましい。
本発明の好ましい実施態様の一例として、本発明の譲受人によって開発され、第
1図および第2図に図式的に示したコンピュータ制御立体造形システムは、第7
図に示した三次元物体を形成するために使用された。この物体の底面は8.25
X8.25インチ、最大高さは約4インチ、最小高さは約1インチであった。肉
厚は約0゜25インチであった。重合性液体は、デソト拳ケミカル・カンパニー
社製の4112−65樹脂と称する比較的粘稠な樹脂を使用した。その浴の温度
は約30℃に維持された。作成する各層の厚さは約0.02インチであった。作
成する各層について、本発明の特徴を具体化する以下の手順に従った。立体造形
システムの物体支持台を4112−65樹脂の浴中に沈め、希望の厚さよりも厚
めの重合性液体の初層を形成するために液状樹脂を支持台の表面上に流入させる
。支持台を引き上げ、その初層が浴よりも上にあるようにする。毎秒約1インチ
で移動するブレードが1パスで約0.1インチの重合性液体を掻き取り、支持台
の支持表面に約0.02インチの重合性液体を残す。支持台はその後、層の平滑
な作業表面が浴の上面と同じ高さになるように下げられる。層は、約15ミリワ
ツトの出力で約325ナノメートルの波長で放射線を発するHe−Cdレーザか
らの紫外線を受ける。
各層のサイクルの合計時間は約35秒であった。従来の方法によりこうした部品
を製作するための時間は、層サイクル当たり約165秒であった。この実施例に
おいて本発明の実施態様を利用することにより節約された合計時間は、約7,5
時間であった。
次に、第8図について説明する。本発明の水準測定の面に関する好ましい実施例
が、樹脂槽30の使用液体20(デソト#65などの紫外線硬化性感光性重合体
)の水準を測定するために立体造形装置10に付属されて示されている。第8図
に示す立体造形装置は、本発明の好ましい実施例の追加および関連装置とは別で
あり、米国特許第4,575,330号(すでに参照により一体を成している)
に示されており、頭字語5LA−1の名称により3Dシステムズ社によって販売
されている商用立体造形装置に見られる基本的な形式を有している。
立体造形装置10は、樹脂槽30の壁60にある通路50によって樹脂槽30と
連絡している副槽40が付加されている。副槽の寸法は、本発明の好ましい実施
例では7×4インチである。使用液体20が、樹脂槽30および副槽40を満た
している。使用液体は、副槽から樹脂槽へ、また逆に、樹脂槽から副槽へ、自由
に流れることができる。樹脂槽(従って、副槽)の使用液体の水準は、部品(立
体造形により製作される物体を「部品」と称する)の立体造形製作を実行するた
めに既定の水準に精確に管理されなければならない。本発明の装置は、図示され
た好ましい実施例の形式により、この目的を達成する。
副槽40の側面下方の樹脂槽30にヘリウム−ネオンレーザ100が装備されて
いる。このレーザは、その出力ビームが副槽の側面に沿って真上に発せられるよ
うに心合せが行われている。本発明の好ましい実施例では、ユニフェーズ社の1
508レーザが良好であった。ユニフェーズ1508レーザは、その低価格、小
型であること、および、低出力要求条件を理由に選択された。このレーザから発
する光は使用液体を重合化させない。
ヘリウム−ネオンレーザの出力ビーム110は、副槽上方の張出しに取り付けら
れた鏡120(ロリン・オブティクス社#60.21)に向けて上方に発せられ
る。
この鏡は、第9図でよくわかるように、副槽40の使用液体の表面70への第1
の光路に沿ってビームを屈折させる。ビームは、表面70に対して角度βで使用
液体の表面にぶつかる(入射角は90″−βである)。角度βは、ビームの検出
可能成分が第2の光路114に沿って反射されるような値を持つ。角度の可変範
囲は、使用液体およびレーザの特性ならびに槽の寸法にもとづいて、その第2の
光路の要求条件に適合する。ここで説明する好ましい実施例では、この角度は1
5″である。
本明細書に説明する装置は、樹脂槽ではなく5.副槽の樹脂の水準をII定する
。これは、部品製作の各サイクルで部品または支持体が樹脂表面を通過する時に
主槽に気泡その他の表面の乱れが生じる恐れがあるので、有利だからである。こ
うした気泡その他の表面の乱れにビームが当たった場合、ビームが誤った角度で
樹脂表面から反射する原因となる可能性がある。他の表面の乱れは、誤ったビー
ムの屈折の原因となり得る浸漬部品の上部に生しるかもしれず、こうした乱れを
平滑にするために時間かかかることになる。これらは樹脂のふくれ、または、ブ
レードの引きのために、再コーテイングにおいてブレードにより過剰な樹脂が押
し出されてしまった領域を含む。こうした問題は、閉鎖容積部分を有する、また
は、大形の平坦な水平表面を有するある種の部品形状の場合に特に深刻となるが
、そうした形状については後に詳述する。副槽の樹脂の水準を測定することによ
り、上記の問題は、最小限になるかまたは完全に解決される。
使用液体の表面70からの反射後、ビームは、ビームが液体表面70にぶつかっ
た時の液体表面に対する角度と同じ角度で第2の光路114に沿って戻る。その
後、ビームは、鏡120と反対側の副槽40の側面のプランジャーハウジング8
5に取り付けられた2セル型光検出器130に当たる。鏡は、使用液体の水準が
希望の高さにある時にビームが2セル型光検出器130に当たるように調整され
る。鏡は、使用液体の水準が希望の高さにある時にビームを使用液体の表面から
2セル型光検出器に反射させるように調整された後は、移動または回転すること
はない。
第11図に示すような、良好な2セル型光検出器は、シリコン・ディテクター・
コーポレーション社製の、製品番号SD113−24−21−021として知ら
れているものである。他の製品および大きさの2セル型光検出器も満足できるで
あろう。ハママツ二次元PSD(Sl 544)や二次元ラテラルセル(SIB
52)といった線形PSD (位置検出器)も適応できるであろうし、長さ単位
で大量の出力を測定し表示することを目的とする装置の場合には好ましいかもし
れない。2セル型光検出器は2の並列光電池140から成る。2セル型光検出器
は、並列光電池140が一方が他方の上にあり、両方の光電池か使用液体の水準
より上にあるように、プランジャハウジング85に取り付けられている。光検出
器は、第2の光路114と直角に交差するように傾けることができ、これは第9
図および第12図でよくわかる。こうすることにより、光検出器のビームの輪郭
を、ビームが本来円形の輪郭であった場合に、楕円にならず、円になるようにで
きる。
液体の水準がカール、加熱などによる収縮のために上下した場合、ビームは表面
70の異なる点に当たる。従って、ビームは2セル型光検出器の異なる点に当た
る。
ビームのこの作用は第9図の影線で示されており、図では使用液体の低位水準8
0はビームを第2の光路150に沿って反射し、2セル型光検出器に対して低位
の点にぶつかる。使用液体の水準の変化はこの作用を図示するために誇張されて
いるが、本発明の好ましい実施例は、既定の高さにその水準を維持するために使
用液体の水準をCI定するものである。水準の変化は、そうした水準の変化が以
下の説明するようにすばやく補正されるので、ごくわずかである。
使用液体の水準の所与の変化は、値βにかかわらず、ビームが2セル型光検出器
にぶつかる点で同じ変位を生じる。第10図は、水準82から高位水準84への
使用液体の水準の変化の結果を図示している。水準82と84との間の差は垂直
距離dである。2の異なるビームは、第1の光路]51および152に沿って到
達し、それぞれ、角度β1およびβ2で液体の表面にぶつかると示されている。
(第1の水準82についての)第2の光路153および154は、垂線Pの同一
の点Y1に交わるように設定されている。使用液体の水準が水準84まで上昇す
ると、ビームはそれぞれ第2の光路155および156をたどる。単純な三角法
による計算は、両方の第2の光路155および156は垂線Pの同一の点Y2に
交わり、YlとY2との間の垂直距離は使用液体の水準の垂直変化、値dの2倍
であることを示している。従って、βの変化は、本発明に従って液体の水準を測
定する方法の精度に影響しない。選択するβの値は、主として、装置の制約条件
内のビームの良好な反射を得る角度に依存する。
使用液体の水準の変化は、2セル型光検出器によって発せられた電気信号の変化
をもたらす。2セル型光検出器の光電池140は、厚さ1ミル未満の狭いスリッ
ト160によって分離されている(第11図参照)。2セル型光検出器がレーザ
によって照射されていない時、または、レーザビームが光電池140の間のスリ
ット160を精確に中心としていない時は、両方の光電池の出力は等しい。ビー
ムが移動して他方のセルではなく一方のセルに当たるようになった場合、出力は
等しくなくなる。
比較回路による不等出力の比較は、以下に述べるように、プランジャ95を駆動
させるために、ステップモータ90に送られる信号を生じる。プランジャ95(
第9図参照)は、使用液体の水準を維持するために必要に応じて上下する。
プランジャは、使用液体の水準を空間的にほぼ一定の水準に維持する。これは、
レーザビームの焦点を保つために有利である。部品製作の各サイクルで槽に新し
い樹脂を供給する何らかの樹脂供給システムの場合のように、水準が変化できる
ようになっている場合、レーザは新しい水準について再び焦点合わせされなけれ
ばならないであろう。
第12図について説明する。光電池140の電流出力205および207は、各
光電池の出力をO〜−2,5ボルトの間の電圧に変換する電流/電圧変換器20
0に供給される。電流/電圧変換器200の2の電圧出力215および217(
各光電池140が各自の出力を有する)は減算器220に供給され、そこで電圧
出力は減算される。基準電圧の加算により(図示せず)、電圧出力215と21
7との間の差は、0〜+5ボルトの間の信号225である。液体が希望の水準に
あれば、信号225は+2.5ボルトになる。
信号225は、アナログ/ディジタル変換器230に送られ、そこで信号はディ
ジタル信号235に変換され、コンピュータ240に送られる。コンピュータ2
40は、信号235を希望の液体の水準の既定のディジタル信号と比較し、ステ
ップモータ制御装置245を起動させる。
ステップモータ制御装置245は、次に、液体の水準を希望の値に戻すために液
体を変位させるためにプランジャ95を上下に移動させるステップモータ90(
好ましい実施例では、ミナリック・エレクトリック社のLAS3802−001
ステツプモータ)を作動させる。
コンピュータは、最初の浸漬動作の後ただちに液体の水準を測定するようにプロ
グラムされており、この動作において、部品は、支持台を液体中に深めに動かし
て浸漬された後、支持台は引き上げられ、部品上に次の層を描く。使用液体の水
準は、製作プロセスにおけるこの特定時間にのみ測定され制御される。コンピュ
ータは、この特定時間にのみ信号235を基準電圧と比較し、ステップモータ制
御装置245がステップモータ90を動作させる時間および方向を決定する、ス
テップモータ制御装置245への信号242を生成する。
本発明の再コーテイング装置の補助的な実施例では、ブレード再コーテイングプ
ロセスに関連したいくつかのパラメータを変更できる能力が備わっており、これ
らのパラメータには、ドクターブレードと槽の樹脂浴の表面との間の距離である
ブレードギャップ、ブレードと部品上部との間の距離であるブレードクリアラン
スがある。
通常、ブレードクリアランスは、形成される次の層の層厚さと同じであるが、そ
うでない場合もある。
ブレードギャップの最適な大きさは、いくつかの検討事項の比較考量によって異
なる。大きなブレードギャップは、平滑になるのに時間を要し、樹脂浴の表面に
しわを生じる恐れがあるので問題である。これがそうした問題となる理由は、ブ
レードギャップが、部品の上部を掻取りのために樹脂表面より上に引き上げなけ
ればならない程度および、その後に、次の層の硬化が始められる前に部品の上部
を下げなければならない程度を決定するからである。例えば、ブレードギャップ
が125ミル、希望のブレードクリアランスが20ミルである場合、部品の上部
は掻取りが始められる前に樹脂表面よりも105ミルだけ引き上げられなければ
ならず、その後、硬化が始められる前に125ミルだけ下ろされなければならず
、それにより部品の上部は樹脂表面下20ミルにあるようになる。部品上部の移
動が大きくなればなるほど、支持台および支持体ならびに部品の他の部分による
液状樹脂内外への移動による樹脂表面に生じ得る乱れは大きくなる。この乱れは
上述では「しわ」と述べた。これらのしわは、通常、樹脂と部品との界面で生じ
る。
ブレードギャップが小さい場合も問題である。ブレードギャップが小さくなれば
なるほど、通常、ドクターブレードが所定の掻取りで大量の樹脂を押し出すこと
になるからである。例えば、ブレードギャップが0ミルであり、ドクターブレー
ドが浴の表面で正確に保たれている場合、上述のしわの問題は低減できるかもし
れないが、ドクターブレードは、槽の表面全体から樹脂を掻き取らなければなら
ないかもしれない。これは樹脂のわずかな波を生じ、槽の側面にあふれさせ、樹
脂表面の気泡を生じ破裂させる可能性がある。
25ミルのブレードギャップが上述の両者の問題の良好な妥協点となることがわ
かっている。通常、ブレードギャップは部品製作前に一度設定すれば、その後、
部品製作を通じて一定に維持される。
変更が有利である別のパラメータは、ブレードクリアランスである。しかし、ブ
レードギャップと異なり、ブレードクリアランスは、部品製作前に一度だけでは
なく、部品製作においてブレードクリアランスを変更できることが望ましい。
可変ブレードクリアランスは、段階再コーテイングが可能になるので有利である
。段階再コーテイングは、各掻取りで異なるブレードクリアランスおよび、恐ら
く異なるブレード速度によって、所定の層の再コーテイングのためにブレードの
多数の掻取りが使用される場合である。例えば、次の層の層厚さが20ミルであ
るとすれば、段階再コーテイングプロセスでは、ブレードクリアランスは、第1
の掻取りで60ミル、第2の掻取りで40ミル、第3の掻取りで20ミルとなる
かもしれない。その結果、各掻取りで、再コーテイングに単一の掻取りが使用さ
れた場合に比べ゛C少量の樹脂が掻き取られ、再コーテイングに単一の掻取りが
使用された場合に比べてブレード前面に樹脂のふくれが生じることが少ない。ブ
レード前面に大きなふくれが生じることは、閉鎖容積の樹脂がブレードとぶつか
った場合に問題となる。閉鎖容積がある場合、重力により、ブレードの下に大き
なふくれの樹脂が流れ込み、ブレードの跡に形成される平滑な層の希望の層厚さ
を乱す可能性がある。最初の時にふくれを生じさせなければ、この問題はそれほ
ど深刻にはならないであろう。この問題は、第13図によって示すことができ、
掻取り途中のブレード300が示されている。部品304は、ブレードクリアラ
ンスとなる距離303だけブレードより下に下げられている。平滑な樹脂層30
1は、ブレードの跡に形成されるが、参照番号302て指示された余分な樹脂の
ふくれがブレードの前面に生じる。ブレードが参照番号305て指示された閉鎖
容積の樹脂にぶつかった時、ふくれ302が十分に大きい場合、ふくれによる樹
脂は、指示されているようにブレードの下に流れ込み、平滑な層301の形成を
乱す恐れがある。
この作用は、ブレードが部品の平坦な水平表面を移動している場合は、樹脂がブ
レードの下に流れ込む余地が少ないので、それほど大きくない。
変更できるもう一つのパラメータは、ブレード速度、それも特に、各掻取りにつ
いて異なる速度が指定できる段階掻取りにおけるブレード速度である。部品形状
に合わせてブレード速度を設定できるようにすることが有利である。ブレードが
部品の大きい平坦な水平領域を移動している場合、ブレードの移動が速すぎれば
、引張りによって過剰な樹脂が掻き取られる恐れがあり、それはブレード下の樹
脂を個別の速度で動かすことになる。例えば、ブレードが毎秒5インチで動いて
いる時、ブレード下1ミルの樹脂は毎秒4インチで、さらにその下の樹脂は毎秒
3インチで動かされるかもしれない。ある場合には、平坦な領域でも引張りが相
当深刻になり、すべての液状樹脂がブレードによって掻き取られるかもしれない
。
従って、大きい平坦領域では、上記の問題が生じないようにブレード速度を減速
することが望ましいであろう。
他方、閉鎖容積の上では、ブレードが過度に緩慢に移動した場合、これは、ふく
れの樹脂がブレードの下に流れ込むのに多くの時間がかかることになる。従って
、閉鎖容積の上では、樹脂が流れ込むだけの時間がないようにブレードの移動速
度を高めることが望ましい。しかし、速度を過度に高めると、樹脂の波がブレー
ドの前面に形成され、気泡を生じたり破裂させたりする恐れがあるので、速度を
過度に高めることはできない。
残念ながら、部品製作中に、部品形状にもとづいて動的にブレードの速度を変化
させることは難しい。しかし、段階再コーテイングの各掻取りについて可変速度
が付与された場合、各掻取りのブレード速度および掻取り数は、通常の部品につ
いて上述の問題を最小限にするように選択できる。例えば、大きな平坦な領域と
閉鎖容積か合わさっているような一定の部品の場合、各掻取りで比較的緩慢なブ
レード速度により5〜10の範囲で、層ごとに多数の掻取りを使用することが望
ましいかもしれない。
多数の掻取りにより、各掻取りで少量の樹脂だけが押し出され、その結果、閉鎖
容積にぶつかった時でもふくれが生じてブレードの下に流れ込むことができなく
なる。
他方、緩慢なブレード速度による、大形の平坦な水平部品の表面から樹脂を過度
に押し出すという問題は、最小限になる。これは、ブレードがすべての樹脂を掻
き取るほど十分に引張りを生じることができないからである。
さらに、緩慢なブレード速度は、大きなふくれが形成できないので、閉鎖容積の
上では問題とはならず、緩慢なブレード速度でもブレードの下に流れ込む樹脂の
問題はほとんど、または、まったく生じない。
掻取り開始前に部品が樹脂中に過浸漬される程度を変化できることも有利である
。前述のように、部品は、通常、次の層の希望の層厚さよりも大きい厚さだけ樹
脂の表面に下に浸漬される。例えば、本発明の論受入である、3Dシステムズ社
により製造されている5LA−250として公知のSLAの商用実施例では、好
ましい層厚さは1 / 2 mm以下である。5LA−250では、部品は、通
常、樹脂中に8市過浸漬され、この厚さは通常の層厚さの数倍である。従って、
層厚さに応じてこのパラメータを変更できることが望ましい。
通常の再コーテイングサイクルは、以下の段階を含む。
1)部品の深い過浸漬、2)樹脂表面の水準の検出および調整、3)浸漬の引き
上げ、4)掻取り、5)表面が安定するまでの遅延。層厚さより大きい厚さの過
浸漬は、掻取りにおいて平滑にできる部品の上部に樹脂のふくれが生じることを
保証するだけでなく、段階2)の樹脂の水準検出を妨げる可能性のある表面の乱
れが高速に平滑になることを保証する。部品が表面近くに浸漬された場合、部品
の上に形成し得る何らかの表面の乱れが平滑化するために、より多くの時間がか
かるであろう。これは、部品の上部と樹脂との間の「通路」が小さくなり、乱れ
を平滑にするのに必要な樹脂の動きを制限するからである。従って、層厚さより
も大きい過浸漬により、水準検出はそれに応じてさらに精確になる。さらに、過
浸漬が1層の厚さに制限された場合、1層2mm(約20ミル)以下の薄い層厚
さはあまり望ましいものではないだろう。
しかし、こうした層厚さは、高分解能によるある種の部品を製作するには必要か
もしれない。従って、深い過浸漬はまた、この範囲での薄層を使用することを容
易にすすなわち、この実施例では、ブレードギャップ、ブレードクリアランス、
過浸漬の深さおよびブレード速度を変化できる能力、ならびに、段階再コーテイ
ングを使用できる能力は、特定の部品形状に合わせた特注のブレード再コーテイ
ングを改善させるための手段をイ」与し、それにより、これらの形状に関した特
定の問題を克服することができる。
補助的な実施例において、ブレード設計をさらに効率的にするために変更するこ
とができる。5LA−250では、ドクターブレードの断面は1/8インチの幅
を有する方形である。さらに、ブレードは、ブレードおよびその支持体が片持ち
ぼりに似たようにブレードの移動を案内する支持レールと一端だけで支持されて
いる。これは、フラッタおよびねじれとして公知の問題を生じる可能性かあり、
それはブレードの不支持端の揺れやねじれとなり、不均一な層厚さなどの再コー
テイングプロセスの不具合につながる。不支持端がねじれや揺れを生じる程度は
、ブレード長の平方に比例する。生じ得る付加的な問題は、この問題によるブレ
ードギヤツブの設定である。このプロセスは、それぞれが不具合を生じ得る多数
の段階を含んでおり、また、時間のかかるものである。
さらに、そのプロセスは、トルクを与えることになるねじを回転する必要があり
、従って、ブレードを変形させる。
やはり3Dシステムズ社によって開発された、5LA−500として公知の立体
造形システムの新しい商用実施例では、ブレードは、5LA−250で用いられ
ているブレードから設計し直されている。
初めに、ブレー ドギャップの設定をより容易に得ることを可能にするために、
マイクロメータねじがブレードの各端に付与されており、このねじが、樹脂表面
上のブレードの各端の高さがブレードにトルクを与えることなく1/2ミルの許
容差で公知の値に独立して調整されるようにする。
さらに、ねじ山の付けられた伸縮自在な針がブレードの各端に一つずつ備わって
おり、6針はブレードの底面から既知の距離たけ出るようになっており、その距
離は期待のブレードギャップに等しい。現在のところ、針はブレードの底面から
25ミル出るようになっている。異なるブレードギャップが希望であれば、異な
る量だけ伸びる針を使用することができる。
このような針は第14図および第15図に図示されている。第14図は、両端に
針401および402が備わっているブレード400を示している。第15図は
、ブレードに取り付けられた針の一方の拡大図である。図示されたように、針は
、ブレードの底面408から距離404だけ出ている延長部分403を有してい
る。5LA−500では、この距離は25±0.5ミルである。図のように、針
は、好ましくは、60回転/インチのマイクロメータねじであるねじ山部分40
5を有している。
ブレードの針取付部は参照番号409て識別されている。図のように、取付部は
、ブレードの底面から針が出る程度を制御するための、針のねじ山部分がねじ込
まれることができるねじ山部分406および止め407を有している。
ブレードギャップを設定するには、針が適切な量たけ出るまでブレードの中に針
をねじ込むことにより取り付け、ブレードの一端のマイクロメータねじをその端
の針が樹脂表面に触れるまで回転する。これは、針の先端が、1/4〜1/2ミ
ルの範囲で接した時に樹脂表面と容易に観察できる大きなメニスカスを形成する
ので、目視により容易に判断できる。従って、針は1/4〜1/2ミルの許容差
で表面に位置させることができる。次に、ブレードの他方の端のマイクロメータ
ねじを、その端の針が樹脂表面に触れるまで調整する。その後、ブレードを引き
上げてから、両方の針が同時に表面に接するかどうかを調べるために引き下げる
。同時に接しない場合は、接するようになるまで上記のサイクルを繰り返す。両
方の針が同時に表面に接すれば、ブレードギャップは設定されたとみなし、針は
ねじ込まず、それ以上出さない。
しかし、針はブレードの重さが同一であるように取付部に保持される。
針をブレードに取り付けるための他の手段も、ラチェット機構で使用されている
ものに類似の戻り止めピンおよびレリースボタンの使用を含め、可能である。
ブレードのねじれや揺れを低減するために、第2のレールを付加して、レールの
各端がそのレールによって支持されるようにすることができる。これは、ブレー
ドの不支持端のねしれや揺れを低減または解消するであろう。
こうした二重レール支持により、ブレードは、強度を増すとともに、ブレード中
央の揺れを低減するために厚くすることができる。厚いブレードは、より大きく
たわむので、1つの支持だけでは支持できないかもしれない。
現在、5LA−500のブレードは、幅1/8インチ、3/16インチおよび1
/4インチのものが入手できる。
さらにまた、第16図に示すように、ブレードの断面は変更することができ、長
方形である必要はない。まず、ブレードの底面は、底面付近のブレードの非水平
な縁が参照番号506および507で指示されるような、それぞれ、迎え角およ
び離れ角として公知の、角を樹脂表面と形成するように構成することができる。
迎え角はブレードの移動方向の角であり、離れ角は他方の縁の角である。これら
の角は、ブレードの下への樹脂゛の流れをいっそう改善するために付加される。
こうした角がない場合、ブレードの下で乱れが生じ、気泡を生じる可能性がある
。
気泡は、ブレード下をブレードとともに移動し、ブレードが部品表面を掻き取っ
た後に残る恐れがあるので問題である。結果として、気泡は部品の不良を生じる
であろう。ブレードの縁に角を付けることにより、ブレードの下の圧力勾配が低
減され、液体の分割を小さくし、従って、乱れの発生および気泡の形成を少なく
する。部品形状によるが、これらの角は5〜8@の間の範囲とすることができ、
また、迎え角は離れ角と異なるようにできることがわかっている。5LA−50
0の場合、6″の迎え角が使用されている。
第16図のブレードは、どちらの方向にも掻き取りできるように相称形として示
されている。または、移動方向の迎え角によるいずれかの方向に選択的に掻き取
るために非対称形のブレードを使用することも可能であろう。
その他のブレード構成も可能である。
第17図は、第16図のブレードで各頂角が曲線である場合を示している。これ
は樹脂表面の乱れをさらに低減できるだろう。第18図は底面全体が曲面となっ
ている例である。第19図は底面が鋭利な頂角となっている例である。
次に、5LA−500の水準測定装置について説明する。この装置は、前述の2
セル型光検出器によって生じる可能性のある問題を解消している。前述のように
、2セル型光検出器は気泡の影響を受けやすい恐れがある。
上記の装置でこの問題を解決するために、気泡が形成されないように副槽が付加
されており、樹脂の水準は副槽で検出される。しかし、樹脂の層が米国特許出願
番号第365.444号に記載されたような重質な不混和性液体上に支持される
場合、副槽の水準は、仮定ではあるが、主槽の樹脂の水準の正確な決定要素とは
ならないかもしれない。その理由は、部品製作中に、主槽の樹脂が副槽に対して
不均等に消費される可能性があるからである。
この不均等さのために、副槽の液体は、全体として見た場合、主槽の液体と同じ
密度ではならなくなる。このことが副槽の樹脂の水準を誤って高すぎるように示
す原因となるかもしれない。
この問題を解決するために、5LA−500では、前述の2セル型光検出器では
なく、主槽の樹脂の水準を検出するためのフロートを含む装置が使用されている
。こ−のフロートは、気泡の影響を比較的受けにくく、従って、副槽ではなく主
槽の樹脂の水準を検出するために使用できるという利点がある。その理由は、フ
ロートの側面に気泡が付着してもフロートの重さ、それゆえ、フロートが浮いて
いる水準を変えることはないためである。従って、副槽は必要とせず、フロート
は、樹脂層が重質の不混和性液体上に浮いている場合でも樹脂の水準を正確に検
出する。
フロートは多様な形状をとることができる。5LA−500の場合、現在、その
フロートは、約50 cc以上の容積を持つ小型缶の形をしている。さらに、フ
ロートは有利なようにテフロン被覆されており、フロート上部に乗ったり、側面
を濡らしたいずれの樹脂もすばやくはね落とし、相当の期間フロートの重さをほ
とんど変えることはない。
気泡がフロートの下に滞留できたとしたら、フロートの浸漬の程度を変えるので
誤った水準測定を生じるかもしれない。こうした場合、この問題を解決するため
に、気泡をフロートの下に滞留させない、第20図に示すような別のフロート設
計が可能である。
S L A、 −500で現在使用されているフロート装置を第21図に示す。
図示されたように、装置は、フロート602、支持棹603、軸受604および
光学検出回路605を有している。図のように、支持棹はフロートに連結されて
おり、フロートは槽600内の樹脂表面601に浮いている。支持棹はまた、軸
受604を支点として上下に可動できる。5LA−500では、軸受604は有
利なように等級9の軸受となっている。
光学検出回路605は第21図に詳しく図示する。図示されたように、回路は、
支持棹603に結合されている部材6051、それぞれ光線6056および60
57を発する発光ダイオード(LED)6052および6053、ならびに、そ
れぞれ光線6056および6057のしゃ断されていない存在を検出する光検出
器6054および6055を含んでいる。光検出器は、前述の、光検出器の電気
信号に応答して樹脂の水準を上下させるためのプランジャその他の装置(図示せ
ず)と電子工学的に結合されている。
液体の水準の何らかの変化は、フロートの対応した垂直変位を生じさせる。これ
は次に、支持棹603を軸受604を支点として傾斜させ、部材6051を液体
の変位の大きさとなる距離だけ垂直に移動させる。
図示のように、部材6051が2の光線6056および6057の間にあって、
いずれの光線もしゃ断していない限り、しゃ断されていない光線の存在がそれぞ
れ光検出器6054および6055によって検出され、樹脂の水準は正しい高さ
にあると推定される。光検出器の不良によって対応するLEDからの何らかの光
線を拾って検出されることもあるので、部材6051が対応する光検出器への一
方の光線の通過を十分にしゃ断するほど傾けられた場合にのみ、樹脂は誤った水
準にあると推定される。この場合、光検出器に電気的に結合されたプランジャそ
の他の装置は、樹脂の水準すなわちフロートを正しい高さに位置決めするために
上下いずれかに動かされる。光検出器6054によって検出される光線6056
が部材によってしゃ断された場合は、樹脂の水準は低すぎると推定され、その場
合、樹脂の水準が正しい高さまで上昇するまでプランジャその他の装置は下げら
れる。
光検出器6055によって検出される光線6057が部材によってしゃ断された
場合は、樹脂の水準は高すぎると推定され、その場合、樹脂の水準が正しい高さ
まで下げられるまでプランジャその他の装置は上げられる。光線6056および
6057の両方が同時に部材6051によってしゃ断されることはない点に留意
しなければならない。従って、この装置は、樹脂の水準が正しくない高さである
場合に、その適切な対応が樹脂の水準を上げることであるか、または、下げるこ
とであるかに関して、曖昧さはまずほとんど存在しない。
次に、5LA−250で使用される再コーテイング用ソフトウェアについて説明
する。フローチャートによるソフトウェアの仕様を第23図に示す。このソフト
ウェアを利用する前に、使用者はまず、支持台の移動を制御するために用いられ
る一定のパラメータを指定しなければならない。これらのパラメータは、ZAS
ZV、ZWおよびZDである。米国特許出願番号第331,644号に詳述され
たように、支持台はPROCESSコンピュータとして既知のコンピュータの制
御のもとにある。
ZAは、PROCESSコンピュータが支持台を加速または減速させる量である
。ZVは、支持台が得ることができる最大速度である。ZDは、支持台を掻取り
前に液状樹脂中に過浸漬させるための深さである。前述のように、ZDは、通常
、層厚さよりも大きい。ZWは、安定化のための遅延であり、掻取り後に支持台
が下げられた後、槽の樹脂と同じ水準の部品の上部に樹脂層の上面を付与するた
めに、PROCESSコンピュータが待機ヲ指示される時間量である。PROC
ESSコンピュータは、部品上部の樹脂を硬化させる前にZWによって指定され
た時間量だけ待機する。
これらのパラメータのほかに、使用者は、層ごとの掻取り数を示すSN、入城速
度を意味し、すべての掻取りが指定の速度で行われることを指示するGVといっ
た、各層または一定範囲の層についての他の変数を指定することができる。使用
者はまた、1から7の各掻取りに関するそれぞれ個別の速度であるVlからVl
を指定することもできる。これらの値を設定することにより、使用者は、掻取り
ごとに速度を変化させたいと指示することができる。
プロセスはステップ700に始まり、この場合、層Nが描かれる。次に、ステッ
プ701で、支持台は、ZAおよびZvにより決定された速度でZDの深さだけ
樹脂表面下に下げられる。ステップ703では、支持台が動かされてから樹脂を
安定化させるために浸漬後の遅延が実施される。
ステップ704ては、2セル型光検出器からの読みが得られ、検出回路から導か
れた偏り(BCVAL−BIASと識別される)について補正される。その読み
は、UPLIMと指示される上限値およびLOWLIMと指示される下限値と比
較される。読みがこれらの2値の間にあれば、樹脂の水準は正しい高さにあると
推定される。
水準が正しい高さにあると仮定して、ステップ705では、フラグが設定された
かどうか検査される。フラグは使用者が押すキーに応答して設定され、使用者が
手作業により槽に樹脂を足す、または、槽から除くことを指示する。フラグが設
定されていない場合、ステップ708で、層N+1の掻取り数SNがOより大き
く、かつ、ブレードが掻取り中にぶつからないような安全な位置に支持台がある
ことを判定するために検査が行われる。支持台の位置の上限は簡略記憶名N05
WEEPで指示される。
これらの条件が満たされた場合、ステップ709において、内部カウンタ5WE
EPがまずOに初期化されてから、増分される。ステップ712で、ブレードが
槽の前部にあるか後部にあるかを判定するために検査される。
その時槽の前部にあれば、ステップ713で、ブレードは、5WEEPの現在値
にもとづく速度で(SWE E PDISTにより指定された距離だけ)槽の後
部に向かって掻取りを行う。
ブレードか槽の後部に達すると、通例、簡略記憶名LIMIT 5WITCHで
識別されるスイッチを動作させる。リミットスイッチが作動すれば、ステップ7
27で、SNにより指定されたすべての掻取りがその層について実行されたかど
うかを判定するために検査が行われる。掻取りが行われていなければ、ステップ
709にジャンプして戻り、上述のサイクルが繰り返される。
ステップ714に戻って、リミットスイッチが作動しない場合、ブレードは後部
に向かって毎秒0.5インチの速度でゆっくりと移動し、リミットスイッチが2
秒以内に作動すれば、ステップ722にジャンプする。それでも作動しない場合
、プロセスはステップ721て終了する。
ステップ712に戻り、ブレードが槽の後部にある場合、ステップ717で、ブ
レードは現在の掻取り数の関数であるはずの速度で槽の前部に向かって掻取りを
行い、その後、ステップ718で、リミットスイッチが作動したかどうかを確認
するために検査が行われる。スイッチが作動ずればステップ722にジャンプす
る。作動しない場合、ブレードは前部に向かって毎秒0. 5インチの速度でゆ
っくりと移動し、リミットスイッチが2秒以内に作動すれば、ステップ722に
ジャンプする。それでも作動しない場合、プロセスはステップ721で終了する
。
支持台(および部品)が樹脂表面下に過浸漬された直後の段階であるステップ7
04に戻って、樹脂の水準が正しい高さにない場合、ステップ723において、
樹脂の水準が高すぎるのか低すぎるのかを確認するために検査が行われる。BC
VAL−B IASがUPLIMよりも大きければ、樹脂の水準は低すぎるので
あり、プランジャは下げられなければならない。ステップ724では、プランジ
ャがすでに槽の底にあるかどうかを確認するために検査が行われ、プランジャが
槽の底になければ、ステップ725および726においてプランジャは下げられ
、簡略記憶名PLUNGPO5で識別されるプランジャ位置が更新される。ステ
ップ727で、樹脂を安定させるために遅延が開始され、再び樹脂の水準を検査
するためにステップ704にジャンプする。その後、上述のサイクルが繰り返さ
れる。
ステップ724に戻って、プランジャが槽の底にある場合、水準を上げるための
唯一の方法は、槽に樹脂を加えることである。ステップ732で、水準が再び検
査され、水準がまだ低すぎるという場合、ステップ733および734で、使用
者は、手作業で樹脂を加えることを指示するキーを押すようにめられる。このキ
ーが押されるまで、プロセスはループに入る。キーが押されると、フラグ(ステ
ップ703で検査されるものと同じフラグ)が設定される。使用者が当然のこと
として樹脂を槽に足している間、ステップ739でプロセスは樹脂の水準が現在
水準になるまでループに入る。樹脂の水準が現在水準になると、ステップ740
で、十分な樹脂が足されたことを指示するメツセージが使用者に示され、ステッ
プ704にジャンプする。
ステップ705に戻り、樹脂が加えられ樹脂の水準が正しい高さになった後に、
フラグはリセットされなければならない。この状態はステップ705および70
6で検出され、ステップ707でフラグはリセットされる。
ステップ723に戻って、BCVAL−B IASがLOWLIMよりも小さい
場合、樹脂の水準は高すぎることを示し、プランジャは上げられなければならな
い。ステップ728で、プランジャがすでにその可能な最高位置にある(0で指
示される)かどうかを確認するために検査が行われる。プランジャが最高位置に
なければ、ステップ729および730においてプランジャは上げられ、簡略記
憶名PLUNGPO8で識別されるプランジャ位置が更新される。その後、ステ
ップ727で、樹脂を安定させるために遅延が開始され、ステップ704にジャ
ンプする。
ステップ728に戻り、プランジャがすでにその可能な最高位置にあり、それ以
上上げられない場合、使用者は槽の樹脂の一部を除去するように通告されるはず
である。ステップ741で樹脂の水準がまだ高すぎるかどうかを判定するために
検査が行われ、ステップ742および743で、使用者は、樹脂を除去するよう
にめるメツセージが送られ、そのメツセージを認めるキーを押すように要求され
る。キーが押されるまでプロセスはループに入る。キーが押されると、ステップ
744でフラグが設定され、その後、ステップ745で、使用者が樹脂を除去し
ている間、樹脂の水準は、適切な高さになるまで検査される。樹脂の水準が適切
な高さになるまで、プロセスはループに入る。樹脂の水準が正しい高さになると
、ステップ746て使用者は樹脂の除去を停止するように通知され、ステップ7
04にジャンプする。ステップ705から707では、前述のように、フラグが
リセットされる。
水準測定は、各層で実施される必要はないが、1)熱膨張、2)収縮、および、
3)支持台の支持によって生じた変位、のいずれかの理由で水準が変化した可能
性がある場合には必要であることに留意しなければならない。
これらのいずれも存在しない場合、水準測定は各層について行う必要はない。
ステップ749に戻って、層N+1のすべての掻取りが実行されると、ZWであ
る安定化のための遅延が開始され、ステップ750および751で、層N+1の
ベクトルか計算され、ステップ751でこれらのベクトルによって層か描かれる
。ベクトルの計算および層の描写に関する詳細は、米国特許出願番号節331,
644号に記載されている。
その後、上記のサイクルが部品の残りのすべての層について繰り返される。
以下に、5LA−500で使用されている、再コーテイング用ソフトウェアのバ
ージョン3.60のリストを記載する。このソフトウェアは、TURBOPAS
CALで書かれた以下のモジュールを含んでおり、その各モジュールを記載する
。
モジュール説明
UTLSWEEP、PAS
部品製作において掻取りを制御する。BUI LDとともに使用される。
5INSTEP、PAS
再コーテイングにおける支持台の正弦波ステップを行わせる。
MACHINE、PRM
掻取りの入力/デフオールドパラメータを含む。
AUTOLEVEL、PAS
層の描写の間の水準測定を実行する。
UTLADJUST、PAS
部品製作前に樹脂の水準を設定するために使用される。
RECOATER,PAS
BUI LDに無関係な再コーテイング動作を実行するために上記のプログラム
を使用する。
米国特許出願番号節331,644号の詳細によれば、BUI LDは、部品の
製作を統制するプログラムである。
上述のように、上記のプログラムは、実際上、BUILDと連係して使用される
。同時に、これらのプログラムは、第23図によって説明した機能とほとんど同
様の機能を付与する。しかし、RECOATER,PASは、BUILDから独
立して再コーテイングを実行するための手段を付与する。このソフトウェアのリ
ストは以下のunit UTLSWEEP;
(SD+ Sし1
(−冒寓麿冨霞冨シ鳳禦翼寓翼厘讃茸驕四富禦寓冨菖;雪冒請認繻卑■な瓢臆軍
冨=翼==朦t#=軍30 Systems Stareolithograp
hy System SoftwareUTL5WEEP、工NC
9LA Recoater blade and plunger utili
ty 1nclude file。
11/15/88 GOF File craated。
11/28/88 GOF Updated for production
5LA250 board。
11/30/88 GOF Add BldSweep、inc、 5olid
ify 1nterfaces withRichard、 Its his
fault!0110コ/89 GOF Commant out all i
f keypressad from sweepercode。
01/1コ/89 GOF Put MonitorLaserBeamDri
ft as a part of PD。
posセdipdelay。
01/ill/89 GOF 工ntegrata with Jon’s S
LA 500 version。
01/24/89 JFT工f raquasted 5paad is >
MaxSafeSineSpaedvalocity。
o1/31/89 JFT Pa5s ZAccel & ZV*loc as
paramatars t。
ZFraeMove & ZMovaGivanDistanca。
o1/27/89 GOF Add PD2.tha 5acond post
dip delay for satplunger proc−
01/31/89 GOF Add routina to read and
write Machine、prm(MaxBladaMoves)
02101/89 GOF Add PD2. DrainAccsl、and
DrainVeloc t。
sweap、prm。
02107/89 GOF Add XP 5upport、’ (axtra
Platform) Als。
changa V@ll0Cto Floatt。
02/24/89 GOF Add exit to SatPlunger
if itsg OK tha firstRaadBiCall。
02/27/89 GOF Minor cleanup and comme
nts。
03107/89 JFT On PlungarLlp full 5tro
ke、add batterassuranc@of gatting to
top、 Echo 5tall messaga if wadon’t r
each it。
03/17/89 JFT工t’s only fitting that I
’m writing this ona green display、 T
o accomodate the 5LA−500゜MaxPlungaMo
vas has bacons greater than wax工nt、
So。
variables in this unit that take ass
ignment fromMaxPlungeMoves ara trans
formed to longint。
04/10/89 JFT Change Velocity to Peri
od。
05/22/89 JFT Change blade malfunctio
n alert to allowuser to reposition b
lada。
o7105/89 JFT Single Co11 Holding Tor
qua。
09/20/89 JFT/RAG Addad sweapar Ca1ib
ration procaduraand 5upport for NCR。
−−−−−−一−−−−−−−−−−−−−−−−−−一一一−−−−−−−−
−−−−−−−−−−−−−−−−一−−1(會★☆☆壷☆☆倫☆會**脅★☆
☆★會嚢壷☆☆☆☆*☆☆☆會☆☆★☆☆**☆★嚢嚢*嚢☆☆会★☆☆☆嚢☆
☆☆★☆)interface
(会会會dk☆會★☆会會☆☆*嚢☆肴☆慟慟☆☆峠☆★嚢肴☆☆脅峠嚢☆☆☆
☆嚢嚢峠壷☆☆嚢嚢☆壷☆嚢☆倫嚢会)(math、coprocessor
5upport 1(SIFOPT N+3
(9DEFINE C0PI
(SELSE)
(SUNDEF C0P)
+5END工F)
ype
(SIFDEF C0P)
FloatType wr Single;+5ELSEI
FloatType ! RaalB
(SEND工F)
($工product、1ncl
onst
(MaxPlungeM口V@tr+ sw :1OOO; l(for th
a 5ilver scraw l (Novin product、inc+
1
(MaxPlungeMovas −2800; for the gold
screw )defaultPariod +s+ 3; (5econds
per sweep 1minplungemovag ! l+m1nPe
riod w 0.1:
maxPeriod w 10X
Bits: array[o、、3] of Byte −(S09.SOA、
SO6,505);(global variablaslNoSwaep :
boolean;PlungerPos : longint; (Mada
”long工ntfrom integer for 500、)Machxn
aType : string+MaxBladaMovas : integ
ar;DafaultPlungerStepsPerMil : real;
(file contents )
NumSweeps : int@ger;Period : array[1
,,7] of FloatType;BladeGap : array[1
,,7] of integer;Bias : integer;
PlungaMotorDelay : integerXPlungStar
t : FloatTyp@; (not used )UpLim : An
t−@qllriLowLim : intagar+
BladaGapLO: FloatType;Po5tDipDalay :
intagar;NumChecks : xntegar;PD2 : i
nteger;
XP : FloatType;
SHowSWEEP : boolaan;ProcassSpeadM :
Real ;(☆☆★會☆壷☆☆命☆☆☆☆嚢☆☆*愉☆☆會会☆☆☆会☆倫会
自☆會嚢☆☆會脅★愉☆*愉肴☆☆会☆☆☆☆壷☆)procedure Ra
adSWEEPxPRMfi1g+procadura R,aaclKACH
工NExPRMfileHprocadure WriteKACH工NExP
RMfile;procadura SwaeperBack(period
: raal; 5topCoda : integer) Xprocedu
re SweeparForward(period: real; 5top
Coda :土ntager);
procedure MoveBlade(period: real; 5t
opCode:integer);proceaura PlungerHol
dinqTorqua; (υ5e after any plungermo
ve of 11
procedure PlungarDown(numMoves : lon
gint; var 5topCode :integer) :
procedure PlungarUp(numMoves : longi
nt; var 5topCode :integarl H
procadura 工n1ts%lIaeparandPlunger(op
tion: integar;varStopCoda : intager)
tprocadure 工nitswaepar(option:int@ge
r;var 5topCode :integer)s
prOCadur+!! RaadB i Co11(r@CurS : Ch
ar ; Va r F 1nalし■al: lnt@qP!:i1’ )
;
procedure WhichBladaLimit(var LimitS
witch: integer) t(procadura AddRamov
aRaszn(var FinalLaval: int@ger) ; )p
rocedure S@tPlunger(numsstPlungarg:i
nteger;varFinalLav@↓:intager )tproca
dure DoSwaap(DipDepth、LayerD@pth:raa
l;RalaxatzonTima:integer);procadura
expswaaparBack(speed+raal);procadura
@×pSW@@perFOrward(speed:raal);proce
dur@axpMov@Blada(period:raal);procad
ure SwaepCal;(會☆☆☆会会膏會☆會☆☆會嚢*☆☆☆*愉會☆
☆☆☆☆會會會☆脅★会☆☆☆☆☆★☆脅會☆☆嚢☆*☆☆☆☆☆☆*)imp
lemantation
onst
LnStaps: array[1,60] of 工ntagar −(40
0,200,100,060,50,45,40,35,コ0,25,20.1
B、16,14,12,10,10゜fl、8,8,8,6,6,6,5,5,
5,4,4,4,4,4,3,3,3,2,2,2,2,2,1,1,1.l、
l。
1.1,1,1,1.i、1.O,O,O,O,O,O,O,O);SwapC
oil W 5309;
SweepLim sr 53os;
defaultBladeGap W 100; (percant 1def
aultBias m OH
defaultPlungaMotorDelay ! 8;defaultP
lungstart w 3.5+ (1nches −not usedno
w )
dafaultUpLim w 5+
defaultLowLim w −5BdefaultBladaGapLo
= 0.125; (inches−batweenliquid and
blada 1dafaultPostDipDalay ! 3; (5ec
onds 1defaultNumchecks m −1; (automa
tic mode )defaultPD2 − 2;
dafaultDA ! ’0.8’:dafaultDV m ’o、s’7
dafaultXP m ’0.0’;SwaapDist +a 12+12
StepItar : intager;SwaapStap二integer
;PlungaStap : integer;dalayt工me : in
teg@r;うunkl乃unksc : int@q@rrjunkXay
: char;
(☆☆☆☆☆☆嚢★會☆會☆☆會嚢☆☆☆☆☆☆☆嚢☆☆☆☆☆☆☆☆脅*嚢☆
dk☆嚢★☆☆☆*僑★☆☆☆☆会4に*☆肴☆☆)procedure Sw
eapDefaults;i、coda : integer;
egin
Numswaaps ニー IT
for i :+w l to 7 do beginPariod[i] :
w defaultPeriod;Blad@Gap[i] ニー dafau
ltBladaGap;end?
Bias :w defaultBias;PlungaMotorD@lay
ニー d@faultPlungeMotorDelayjPlungSta
rt := dafaultPlungstart;UpLim ニー Bia
s + dafaultUpLimXLowLim := Bias +def
aultLowLim;BladeGapLO:= defaultBlada
GapLo★25.4; (convertto mm )
PostDipDelay :w dafaultPostDipDelay;
NurnChecks :y defaultNumchacks; (aut
omatic modePD2 := dafaultPD2;DraznAc
cel ニー dafaultDA;DrainVeloc :w dafau
ltDVHXP : −RaalVal(dafaultXP、coda) ;
ShowSweep :1IIfals酊and;
(☆會**脅☆会4に☆☆☆☆*嚢☆會☆☆會*☆☆嚢☆會会愉☆會貴☆☆☆☆
禽☆會嚢嚢會☆☆☆☆☆☆☆☆☆愉命嚢肴☆)procedure ReadS
WEEPxPRMfila;onst
anyfile w 53F7
SwaapFila : Text;
Line : String;
i、jj、k)c、1ndex : integar;DirInfo : 5
aarchRac;egin
工f ShowSweep then vritaln (+ Rstadin
+g machine、pnnfile、’);
FindFirst (’\3dsysXMachina、PRM’ 、any
fila、DirInfo) 7if DosError <> Othan
baginwindow(1,1,80,25);C1rScr;
gotoxy(1,21);
writeln;
writeln(’ ERROR: Machina、PRM not fou
nd。
1);
UsarWaitX
Halt(1);
end;
(″″−−−−−−−−−−−−−−−−−−−−−−−−−−−−一−−−−
−−−−−−−−−−−−−−−−−−−−−1assign(SwaepFi
la、 ’\3dsys XMachina 、 pnn ’ ) ;rasa
t(SweepFila);
i:1IIOX
rap@at
raadln(swaepFila、1ineluntil 1ine = ’
5WEEP、PRM’;while (Not Eof(SweepFile)
)and (i <wa 27)do beginr@ ad l n (Sw
e ep F 11 e r 11 n e ) rif 1ine[l] <
> If’ then 1nc(i);if i −1then begin
NumSwaeps : sa
工ntVal(copy(1土na、1.pot(’!’、1ine)−1)乃
プ)Iand;
if (i >W 2) and (i <m 15) then be+gi
nif (i mad 2) −0
tnen Pariod[i div
2] :+wRaalVal (copy(line、 l、pos(’ !
’ 、 1ine) −L) 、 jj )alsa BladeGap[i
div2] :mround(RealVal(copy(line、 1.p
os(’ ! ’ 、1ine)()、うj));(1(BladaGap[i
div 2]ニー(1/1000) ★ (25,4) ★BladaGap
[i div 2]; 1(covart !ll1ls to mm )if
(BladaGap[i div 2] <m 0)than BladaG
ap[i div 2] ニー 0;if (BladeGap[i div
2] > 999)than BladaGap[i div 2] :w 9
997and;
caga i of
16 : Bias : 冨
IntVal(copy(line、l、pos(’ ! ’ 、1ine)−
1) 、jj) ;11 : PlungeMotorDelay :x工nt
Val (COpY (line、 x 、 pOB (’ ! ’ 、 1i
ne) −1) r ] jj il8 : PlungStart ニーRe
alVal(copy(line、l、pos(’!’、1ine)−1)乃j
);19 : UpLim :−
工ntVal(copy(line、l、pos(’ ! ’ 、1ine)−
1) 乃j) :20 : LowLj:m :m
工ntVal(copy(line、l、pos(’!’Jine)−4)、j
j)X21 : BladaGapLOニー
(25,41*RealVal (copy(line、 1.pos (’
! ’ 、 1ine)−1) 、 jj ) ;(convert 1nch
es to M 1fl(22: postDipDelay :=工ntVa
l(copy(line、1.pos(’ ! ’ Jine)−1)、jj)
;)22 : NumChacks : −工ntVal(copy(line
、l+pO8(’!’、1lna)−1)+ jj);[1(24: PD2
:菖
工ntVal(copy(line、1.pos(’ l ’ 、1ine)−
U +jj)r )23 : DrainAccal:sw copy(lin
e、l、pos(” 、1ine)−1);24 : Dra 1nVQIOc
: −copy (l xna r l r pOB (” r l Ln@
) −1) +25 : XP :諺
RahlVal(copy(line、l、pos(’ l ’ 、1ine)
−4) 、jj) ;26 : ShowSweep :wa (upcasa
(line[1])m ’S’ );and;
ndr
C1ose(SweepFile) Xfor i :w 1to 7 do
beginif (Period[il > maxsweepPeriod)
than Period[il :wxmaxswaepPariodr
if (Period(il < minsweepPariod) then
Period[il 声minsweepPeriod;
ndj
UpLim :m Bias + UpLim;LoWLim :m Bias
+ LoWLim;if showswsap then beginwri
teln(’H@r@ ar@ the 9appercentages−−’
) ;for i :w 1 to 7 do writeln(’Gap’
、i、’ is’、BladaGap[il);
’ and;
ZSaf@SW@@p ニー ZBladeLaval + 0−060 (W
arp tolarance + 1010m1l+ xp;
end;
(☆☆☆**峠****************嚢☆★*☆★☆**倫嚢☆肴
食肴會★會會嚢肴☆☆☆貞☆慟☆★脅★)procadure ReadKAC
H工NEXPMfilQ;onst
anyfile we 5コFF
SweepFila : TaXt;
Line : String;
i、jj、kk、1ndex : integer;Dir工nfo : 5e
archRac;begin
1f ShowSwaap than writeln (’ Raading
KACH工NE、PRMfil@、’);
FindFirst (’\3dsys\Machine、PRM’ 、any
file、Dir工nfo) ;if DosError <> Othen
beginwindow(1,1,80,25):C1r!30r;
90toxy(1,21)r
writeln;
writeln(’ ERROR: Machine、pnn not fou
nd。
1);
UsarWait;
Halt(1):
end?
(−−一−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
−一−−−−−−−−−−−−−)assign(SwaepFila、 ’\
3dsys\MaCI’1lna −pr!n ’ ) iresset(Sw
aepFila) ;i ニー 07
epeat
readln(SweapFile、1ine)until 1ine s+
’MACH工NE、PRMl;while (Not Eof(SwaepFi
lg)) and (i < 3) do beginreadln(Swaa
pFila、1ine) ;if 1ina[l] <> +i’ then
1nc(土);case i of
l: begin
MachineType :冨copy(line、1.7) ;Proces
sSpeedM :wRaalVal(copy(lina、8,8)。
jj) ;
end ;
2 : MaxBladeMoves :w工ntVal(copy(line
、l、pos(’ ! ’ 、1ine)()、フコ);3 : Defaul
tplungarStepsParMil :=RaalVal(copy(l
ine、1.pos(’!’、1ine)−1)、jj);end+
and;
close(swaapFila);
end;
(会☆★倫☆*脅會*☆★肴☆☆☆貴★☆會嚢☆☆会☆會☆☆☆☆命★☆嚢☆*
峰☆自☆☆☆倫☆會☆★☆☆☆★☆☆)procadure WritaMAC
HINExPRMfile;C口nst
ParamFileName m ’\3DSYSXMACHINE、XYZI
;NawNam@ w ’\3DSYSXMACH工NE、PRM’;工0ar
r、i、m、n、valcoda : integerXj : 1ongin
t+
r : raal;
ParamFilaLine、AppendTaxt : 5tr80;Par
amFile、NewFile: text;Dir工nfo : 5aarc
hRac;InputL+ins、 : string;begin
opanParamFila :m ParamFilaName;assig
n(ParamFila、OpenParamFila);rewrite(P
aramFile):assign(NewFile、NawName);ra
sat(NewFile);
while not eof(NewFile)do beginreadln
(NewFile、InputLine):writeln(ParamFzl
et工nputLine)rand;
re!Write(NeWFlle)i工0arr :z 工0result;
1f 工0err <> Othen beginOpenParamFile
:m ParamFileName:assign(ParamFile、○
penParamFilel ;reset(ParamFile):
工0err :wm 工0result;if 工0arr <> Othen
OpenParamFile :wa ”end; [IOerror)
if工0arr ++++ Othen b@gin土:■OF
reset(ParamFila);
rep@at
raadln (paramFila 、 paramFilaLine) ;
writeln(newFile、paramFileLin@);until
paramFilaLine m ’MACHINE、PRMl;readl
n (paramFila 、 paramFilaLina) rwhile
(paramFilaLina[1] m ” ) or (paramFi
laLine[1]writeln (newFile 、 paramFil
aLine ) ;raadln(paramFila、paramFileL
ina)Hand;
writeln(newFile、paramFileLina); (Th3
−5 Ls themachine model #、)
Str(MaxBladeMovas、paramFileLine):wri
teln(newFile、paramFileLine+’ ! Maxim
umbladesteps to cross vat″戸readln(pa
ramFile) ; (We just wrota a new val
hereso throw old away、)while not eof
(paramFile)d。
egin
raadln (paramFila、 paramFileLine) ;w
riteln(newFile、paramFileLine)rend:
end:
close(NewFile):
close(ParamFila)r
end;
(肯☆★★★☆★*膏★☆★★*嚢☆★貴☆☆嚢*4に嚢**嚢命★★☆☆脅★
★★★☆☆☆貴☆膏☆☆嚢☆★會嚢肴☆貴)procadure Rotata
Stap(DirStap: 工ntager;var InputByte:
工ntagar)j
egin
Stap工tar :vm ((Stap工tar + DirStap) +
4) nod 4;InputByte ニー Bits[5tep工tar
];end;
(☆☆☆☆会会會☆☆会会*会会☆☆会会☆貞☆☆嚢☆☆☆☆☆☆☆**☆☆☆
會☆★★☆4に☆☆嚢☆脅☆☆☆★☆★☆★)procadura BanDa
lay(dal:intagar);x :integer;
i :intagar;
j :integar;
epeat
工NC(X);
for i :m 1to xo do 1nc(j); + 100 us
)until X>m dal;
and;
(★☆★脅☆☆*☆★☆☆☆☆嚢★脅命★嚢会☆嚢會嚢☆☆倫☆☆☆☆☆☆4に
*☆嚢★★★嚢☆*倫☆☆*嚢嚢☆☆)function SwaaparPa
ramatar(pariod : real): raal;(Faad t
his tha dasirad period and it will r
eturn theappropriata parameter )(to
sweep at that pariod、You than faad t
hat # to theappropriata )
(sweaper moving procedure。
sweaparParam : raal;egin
RoundPeriod :+w round(pariod);if Rou
ndPeriod > maxsweepPeriod than Round
Period :wzmaxswaapPgriod;
(* check for the machine type so the
appropiata☆)〔★Parametar Value for t
he blade sweep is assigned *)if ((Pr
ocassSpeadM * 10) < 1) then(肴wYsE 28
6 values 会)case RoundPeriod ofl : gw
aaparParam :W pariodlParam; (SquareM
oves 5tart hare、)2 : swaaparparam :”
parxod2Param;3 : sweeperParam ニー pa
rioa:iparam;4 : sweeperParam :wa per
iod4Param;5 : swaeperParam :wa pario
d5Param;6 : swaeparParam :w+ pariod6
Param;7二sweep@rparamニーpariod7Param;(
sineMovesstart here、1
8 : sweaparParam :m pariod8Param;9 :
swaeperparam :+m pariod9Param;10 :
swaeparparam :” periodlOParam;11 : s
weaperParam :m periodllParam;x2 : sw
eaparParam :+m par土od12Param;13 : sw
eeperParam :冨psriod13Param;14 : swea
parparam :wa period14Param;15 : swea
perparam ニー p1!りl’lod15Parami16 : sw
eeptarParam :!II pariod16Param;lse
egin
if (RoundPeriod > 16) and (RoundPeri
od < 21)than sweeperParam :m period1
6Param −((RoundPeriod −16)☆((period1
6Param−pariod21Param) /4 ) ) :if (Ro
undPeriod > 20) and (RoundPeriod < 1
31)then sweeperParam := period21Para
m −((RoundPeriod −20) * ((period21Pa
ram−period30Param) /10) ) ;and H
and
als* (★ NCRコ86 VALUES *)(☆all NCR386
valuas are 5ins moves *)case RoundPa
rioci ofl : sweeparParam :vm 1.2 ; 2
: swaaparParam :wzl、2 ;
3: sweeperParam :w 1.2 ; 4 : sWaepar
Param :mO,8;
s : swaeparparam :w O,6; 6 : swaapar
param :m015 ;
7 ’: swaeperParam :1110−4 j 8 : swea
parParam ニー0.35 ;
9 : swaaparParam :wm O’、31 ;10 : swe
aparParam :wmO,26j
11 : swaaperParam ニー 0−245 ; 12 : sw
eeparParam ニー0.22 ;
13 : swa@parParam ニー0.205 ; 14 : ssw
aaparParam :wO,19j
15 : swaeparParam :m O,18; 16 : swae
parParam :mO,16;
17 : sweap@rParam :va 0.152 ; 18 : s
b℃aparParamニー0.13757
19 : swaaparParam ニー 0.1:15 ; 20 : s
waapsrparam ニー0.13 ;
21 : swaeperParam :m O,12: 22 : sswa
aparParam:=0.115 ;
23 : swaeparParam ニー 0.11 ; 24 : swa
aparParam:mo、105 F
25 : swaaparParam :wa 0.1; 26 : swaa
perParamニー0.097 ;
27 : sweaparParam :m O,0935+ 28 : sw
aaperParam :wO,09;
29 : sweaparParam slm O,087: コo : sw
eaperParam:=0.085 ;
and (嚢 case NCRコ86 嚢)iSweaperParamet
er :! swesperParam:end:
(会会*嚢☆★☆脅舎壷☆☆會☆*☆肴☆☆☆☆☆☆☆會4を倫☆☆壷☆☆☆命
☆☆☆☆☆會嚢★☆☆壷会會☆☆☆☆)function Swa*p@rSq
rVelocity (v@l : raal ) : r@!a’l ;(C
onverts a’valocity in 1nches per 5ec
ond to the swaapersprivataunits、Smal
ler trueVals correspond to greaterve
lociti@s、 1
(Th1s function is no lcngar usad+1tr
uaVel : raal;
agin
if val <+s l then trueVel :W 76else
if vel <wa 2 than truaVal :m (vel −1
) * (36−76)+76
else if vel <w 3 then trueVel :w (va
l −2) ★ (2コ−36)+ 36
alsa if vel <= 4 then truaVel :x (ve
l −3) 愼 (17−23)+ 2コ
elsa if val <m 5 then t、ruaVal :m (v
@l −4) ☆ (12(7)+17
elsa if vel <w 6 then trueVel :m (va
l −5) ☆ (10−12)+12
elsa if vel <w 7 then truaVal :! (ve
l −6) ☆ (9−40)+10
elsa if vel <w 8 then trueVal :m (va
l −7) ★ (7−9)+ 9
else if vel <w 9 than trueVal :+=+ (
vel −8)* (6−71+ 7
else if val <w 10 then truaVel := (v
al −9) 會 (6−7)+ 7
else truaVel :! !BSwaeperSqrVelocity
:w truevelXand:
(嚢嚢★懺★☆☆☆會☆☆☆★☆☆☆會★★☆嚢★★*愉☆★倫☆☆☆★*脅☆
★☆☆*愉☆☆☆倫★喚☆會脅★*)procedure SweaperBa
ck(period : real; 5topCode : integer
) :l wa abnonnal −11m1t hit before c
omplatad move(ZStage )
2 w abnormal −kayprassad3 = 5tall 1
i : intager;
key : char;
5peed : realX
agin
speed :w SwaeparParamatar(period); (
speed holds a rawparamatar nowl
if period < MinSafeSinaPariod than b
egindelaytim@ :m trunc(spa@d) ;if (Z
StagaPos < ZSafaSweep) than exit;por
t[swaaplxml := SFF;i ニー 0;
ifShowSwaapthanwritaln(’ 5WEEPERBACK
’);epeat
if (port[swaepLiml and 540) <> 540 t
hen beginport[swapcoill :ss 500;Blad
aPos :w MaxBladaMovas;5topCode :wa O
;
exit; (hit 11m1t 5w1tch 1ndr
inc(BladePosl;
if i <m 59 than 1nc(i) (ramp upelse
if BladePos > (MaxBladaMoves −60) (r
amprotatastep(1,swaepstap);port[swep
coill :111((port[swepcoill and 5F3)
orl(swaepstep and 5OF) ;BenDelay(dal
aytime + LnSteps[il) ;until ((keypra
ssad)or l (BladePos >m MaxBladeM−ove
s):port[swapcoill ニー 500:(if kaypras
sad then beginkey :1+1 Raadkey;
5topCode :m 2;
end;’1
if BladaPos >wr MaxBladaMovas than b
aginif ShowSwaep than writaln(’ *嚢☆
ERRoR: 5TALL 1nSW@@p@r BaCk ’)+
dala; (1000)?
ba If! p ;
BladePos ニー MaxBladeMovas;5topCode :
wa 3;
end;
and
else sinamove(MaxBladaMoves、5peed、’r
’、’r’、5topcoda);ndH
C會☆★**☆☆☆☆☆☆會☆☆☆會☆☆会会**嚢☆☆☆☆會☆☆☆☆☆脅☆
愉☆★嚢會肴☆貞☆☆*☆☆☆☆☆☆)procedure SweeperF
orward(period : realX 5topCode :inta
ger);
i : intagar+
key : char:
5peed : real;
egin
speed :m SwaeparParameter(period)H(s
peed holds a rawparamatar nowl
if period < MinSafeSinaPeriod then b
agindalaytima :! trunc(speed);if (ZS
tagePos < ZSafeSwaap) then exit;port
[swaepliml ニー SFF;i :ズ0X
if ShowSweep then writaln(’ 5WEEPERF
ORWARD ’ ) :epeat
if (port[sweepLim] and 520) <> 520 t
han beginport[swapcoill :w 500;Blade
Pos :x O;
5topCode ニー 0:
exit; (home 11m1t 5w1tch 1end;
dec(BladaPos);
if i <wr 59 than 1nc(i) (ramp upelse
if Bla、daPos < 60 (ramp down 1than
i :w BladePog +1;rOt a t e s tQp (−1
t SW@ ap st ap ) jport[swapcoill :m
((port[swepcoill and 5F3) orl(swaeps
tep and 5OF) XBenDelay(d@laytima +Ln
Staps[il) ;untxl ((k@ypr@@re@d’j Or
l (BladaPos <−0) ;port[SwapCo土1] ニー
Soo;(if keypresgad then beginkey :”
Raadkay;
5topCode :m 2;
end; 1
if BladePos (W Othan beginif ShowSwa
ap then writeln(’ ☆嚢☆ ERROR: 5TALL i
nSweepar Forward l);BladaPos :m O;
5topCode :m 3:
beep:
delay(1000);
end+
and
else sinemove(MaxBladeMoves 、 5peed、
’ r’ 、 ’ l ’ 、 5topcode) :@(We
should never reach )(this point。
end;
(★★☆☆★☆☆☆貞★☆★★*☆☆*肴☆貴★★肴★*嚢*噛★***肴★☆
嚢★會☆會☆☆★壷嚢★★会☆☆★自嚢)procedure MovaBla
de(period : real; 5topCoda:integer):
RoundPeriod : integer;swaaperParam ;
real;begin
(Datermina machine type、)if (’ Proce
ssSpaedM☆10 )>−1,than(NCR920)(Too co
ol+ JFT)begin
if BladePos <> Otb@n axpsinemova(Max
BladaMovas 。
!9wapsrParam@tar(period ) 、’r’ )else
expsinemova(MaxBladaMovas 。
SwaeperParau+atar(period )、’l’ );end
alsia begin
(Wysa 286 )
if period >wa MinSafaSinePariodthan
if BladaPos <> Othanexpsinemove (Max
BladeMoves 、 SweaparParameter (pario
d) 、 ’ r ’ j
alsa
axpginemove (MaxBladeMovas 、 Swaaper
Parameter (period) 、 ’ l ’ j
else if BladePos <> o thanswaeperfor
ward (period 、 5topCoda)4! l SQ Btj4
!@p@rbaCk (pariod r S tOpCOd@ ) rend
H
end;
(☆★★☆☆☆会嚢☆☆☆會嚢☆**☆☆★☆貴☆貴☆★貴★★★☆☆*嚢☆會
☆★☆*責☆☆☆★☆★貴會☆★☆★☆)procadure Plunger
HoldingTorqua+egin
if 5tep工tar >−509
than port[swapcoill ニー (508☆ 16 and
5FO)@lsa port(swapcoill :m (S04 嚢 16
and !5FO):ndH
(★☆☆☆☆★★★☆★★★☆★★嚢☆☆僑☆**命☆☆★**会☆★★脅★★
☆★★★資★☆☆★★☆★☆★☆★☆★貴)procedure Plunga
rDown(numMovas : longint; var 5topCo
de :integer) H
(☆峰numMoves of Omeans go to Plunger
11m1t *1j★)ir ] r k : in teqerrm : l
ongint; () (Changed from integer to
accomodataSLA−500,1
begin
if PlungerPos >m MaxPlungaMoves then
exit;i f n u m M o v e s < > l t h
a nRaad3 DStats+File (ZStagaPos 、 Pl
ungarPos 、JunkSC) ;if ShowSwesp than
writeln(’ MOVTNG PLUNGERDOWN −gatti
ng 1avel 、 ’ l ;if numMoves m Othan
m :m MaxPlungeMoves alsa m :+wnurlLM
OVtli ;
k :嵩 1;
port[swapcoill ニー (plungestep ” 16 a
nd !jFo );repeat
inc(k) ;
for j :wa l to minplungamoves do beg
inrotatestap (1,plungastap) ;port(Sw
apcoill =−((port[swapcoill and 5FOJ
orl(plungastap倫16 and 5FO):dalay(Plu
ngaMotorDalay) ;and;
inC(PlungarPos ) ;until (k >m m) or
(PlungarPos >m MaxPlungaMoves) ;if n
umMoves <> 1 tban PlungarHoldingTorq
ua;(if numMovas <> l then 1゛Updata3D
StataFile(ZStagaPos、PlungerPog、JunkS
C);char
(☆★☆☆☆貞☆☆☆*☆★嚢会会☆☆☆☆☆貴☆嚢*命☆☆*倫☆會峠貴会嚢
★☆會☆☆*会☆☆會★☆☆*☆)procedure PlungarUp(
numMoves : longint; var 5topCoda :in
teger);
(☆☆★ numMoves of Omeans go to Plunga
r 11m1t 會嚢☆)=、j、に: integer;
m : 10ngint;
HitLimit : boolean;begin
HitLimit := false;PlungtrStaLlad ニー
false;MaxPlungeMovas give great@r as
surance that theplungar reaches the
top、)StopCoda :vm 3−; (Default to 5t
all、sat to Owhan wehit 5w1tch、)
if Plung@rPog <wa Othan exit;ifnumMo
vas<>1then
RaadlDStateFile(ZS taq@PO5,PlungerPo
s、JunkSC);if numMovas x Othen Plunga
rPos :s++ 2☆MaxPlungeMovqsrif 5howSw
aep than writelr+(’ MoV工NG PLUNGERUP
−8Qヒtxng 1evel 、’ )iif numMoves m O
than m :m 2 ☆MaxPlungeMoves alse ha
:=numMoves:
k :謬1;
port[swapcoill :m (plungestap * 16 a
nd SFO)irepeat
inc(k) r
for j :we l to minplungemoveg do beg
inrOt a ta B t @ p (−1r p l unq @ S
t ap ) rport[swepcoil) :wa ((port(sw
epcoill and 5FO)or )(plungastep會16 a
nd 5FO);delay(PlungeMotorDelay);and;
dac(PlungarPos):
R(port[sweepLiml and 580) <> 580 tha
n beginport[swapcoill :m GoOXPlunger
Pos := 0r
StopCode :y O;
HitLimit :!l true;(Update3DStateFile
OK for numMoves −1)tlpdate:1DstataF
ila (ZStagaPos 、 PlungerPos 、 JurikS
C) ;exit; (plunqer top 11m1t 5w1tch
1end;
until (k >m m) or (PlungerPos <冨0);i
f numMoves <> 1 then PlunigerHolding
Torque;(工f this was a full−stroke mo
ve、check to see if wehit tha 11m1t 5
w1tch、 工f wa didn’t、廿tan display tha
tsituation according to OpMode+)if n
umMoves m Othan beganif not HitLimit
than PlungerStallad :wa true;end;
(if numMoves <> 1 than IUpdata3DStat
eFila(ZStagePos、PlungarPos、JunkSC);a
nd+
(壷愉會☆☆會嚢*會★★☆☆★嚢☆☆會☆☆会☆☆☆★*☆☆☆★☆☆裔嚢☆
☆肴★★☆肴★☆☆嚢會☆★☆金☆☆嚢)procadure ReadBiC
all (recurs : char ; Var FinalLavel
: intager j ;
(会☆☆ racurs w Rm recursive raadings
to check validityN w non−recursiva r
eadingS wa avaraga of 5 simpla strai
ght bi−callvalues with no validity c
hacks 6町onst
し■elReading m 128;b、i、j、count、に、newl
evel、sum、5itopcoda : intagar;jun)cst
r、sign : string;begin
count :w l;
if R@curs ” ’S’ than count ニー 5+Sum:
go;
for k :wm 1to count do beginport[780
] ニー 12; (addr ADCport −780has 16cha
nnsls、use 5 1
for i :讃1 to 100 do 1nc(j) ; (10ug )
i :sIO;
repeat
inc(i)X
b ニー port[sコニ0に
nemlAvel ニー port[530c]。
until (b<128) or (i>2000);(re−repeat
this looi))NewLevel :wt NewLavsl −L
avalRaading;FinalLavel :wr NawLevel;
sum :wm sum + FinalLavel;if ShowSw@e
p than beginl) ’ (writeln(’ NawLevel
wa’、NawLevel、’clrscr;
If N@’WIIaV@1> Othan sign ニー ’−’ als
a sign :” ’+’;junkstr :w concat(’New
1evel m’、sign、intstr(abs(Newし1vel)
) ) ?centertext(]unkStr、1)rdelay(100
):
end;
endX (for l to count )if (ShowSweep)
and (count > l) than beginif Sum >
Othen FinalLevel := trunc((sum /coun
t)+0.5)
elsa FinalLavel :w trunc((sum /count
)−0,5)r
() (writeln(’ AvaLeva1m’、FinalLevel、
” );1if NewLeval > Othen sign :tx ’−
’ else sign :w ’+’;junkstr :w concat
(’New 1evel m’、sign、intstr(abs(NewLe
vel)))rcantartext(]unkstrll)?delay(2
00);
and+
if (Recurs −’S’) than exxt;if (NewLe
vel m B工As) and (Recurs = ’R’) than
begin(test for 1aser blocked or off
bi−cell )PlungerUp(20,5topCode) ;Rea
dBiCall(’N’、NewLevel)?if NewLeval =
B工As then beginPlungarDown(40,5topCo
de)rReadBiCall(’N’、NewLevel);if NewL
avel = B工As then begincentertext(’ER
ROR: La5er Beam is blocked oroff B1−
Ce11.’、1):
userwait:
Halt(11;
end;
PlungerUp(40,5topCode) ;end;
PlungarDown (20、5topCoda) :and; (Naw
し=val −BXAS )end; (ReadBiCall )(*脅☆☆
☆峠****倫☆☆★★會*肴4に壷☆貴☆☆會☆嚢★☆☆☆☆★嚢☆★貴☆★
☆肴☆★肴★★★☆☆★)procadura WhiehBladeLimi
t(var LimitSwitch: intager) ;(l w fr
ont、 2 +a+ back、 3 MRnaitfier )begin
if (port[sweapLiml and 520) <> cP20
then beginport[swapcoill :m ′50o:Lim
itSwitchニー 1;
BladePos :wm O;
exit+ (home 11m1t 5w1tch )end?
if (port[swaepLim] and 540) <> 640 t
han beginport[swepcoill ニー 500;Limit
Switch:m 2F
BladePos :wlMaxBladaMoveg;exit; (bac
k 11m1t 5w1tch )end;
LimitSwitch :s+ 3;ndr
(*☆☆★會☆*會☆會☆会会☆冑★★☆☆會☆*嚢**肴☆☆☆☆*嚢★会☆
倫☆☆會★**會★肴會肴★★)procedure工n ltsweepar
andPl unqer (optign : integer ;var 5
topCoda : integer) ;wastakey : charX
k、k : integer:
begin
port[SコOBI := S98; (工nit 8255 +port[
530B] := 598; (control portlport[swe
pcoill ニー 0: (8255port C)port[sweepl
im] ニー 0; (8255port BldelaY(1) X
WhichBladaLimit(k)c); (this 5ets Bla
daPos )if )ck = 3 than begineepH
W r l t @ l n ;
Centerln(”CAUTTON: Sweeper blade not
in homeposition、 l ) ;
centerln(’ You may manually repositi
on the blade atfrontof vat、l);
usarvaitH
delay(1);
+H1kkニー−1234;
WhichBladaLimit(k)c);()()Window(lj、8
0,25) ;(1()Writeln(lck):
if kk ! 3 then begingotoxy(1,1)r
DrawBox(3,7,73,14,2);rapaat delay(10
0) until keypressadHうun)ckay :m raad
kay;CursorOni
Halt(1):
ndH
ndH
PlungerPos :x MaxPlungeMoves +150X(P
ad it so we)GJOW it qoas to 11m1t ]P
lungarUp(0,5topCode);PlungerDown((Ma
xPlungaMovas div 2) 、5topCode) ;pxun
gerpos :” MaxPlungeMoves dlV 2;if Sh
owSweep then beginwriteln(’ 5WEEPER,
PLUNGER,AND ZSTAGE 工N工T工入り工ZED1);
delay(800);
ndH
if kayprassad then wastekay :w RaadK
ey;and7
(☆★★峠*******肴★☆★嚢★★峰*****峰***嚢★*資*☆☆
☆☆☆嚢☆**☆★☆★肴)wastekey : char:
kk : xntegar;
begin
port[930B] ニー 598; (主nit 8255 )port(
530B] := 5987 (control port)port[swa
pcoill ニー J (8255port c)port[sweepli
m] :w 0X(8255port B)dalay(1)H
WhichBladeLimit(k)c) ; (this 5ets Bl
adaPos lif kk m 3 then beginb@ @p 7
writelnr
cantarln(’ Sweepar blade not in homa
position。
program aborting、’ ) ;centerln(’ You
may manually raposition the blade a
tfront of vat、’);
usarwaitr
if (port[swaepLiml and ’1i20) <> 920
than beginport[sweeplxml ニー 500Fend
alsa begin
gotoxy(1,1);
DrawBox(’3,7,73,14,2) ;rapaat delay(
100) until kayprassadHjunkkey := rea
dkeyHCurSOrOn?
Halt(1);
end;
end;
end+
(★☆☆會會壷壷會肴☆嚢*喰☆★嚢★☆☆☆☆*嚢**嚢☆會脅☆★☆會☆★
會金嚢肴☆☆★☆貴命☆嚢☆☆峠自倫)procedur@ LiquidSt
ableDelay;(Take bic@ll raadings unti
l the diffaranca betweenreadings is
within epsilon a 5pecifiad number of
times inarow、)
C口nst
NumOfODeltaRaadsNeeded m 5:daltaEpsi
lon Ill 3;1evel、olciLavel : intagarX
numofODsltaRaads : intagar;bagin
numofODeltaRaads :m 0rReadBiCall (’
S ’ 、 1evel ) ;RaadBiCall (雷S’ 、oldl
aval) ;whila (abs(level −oldlavel) >
d@1taEpsilonl and(NumOfODeltaRsadg
< )JumOfODaltaReadsNeadad) d。
bagin
ReadBiCall(’S’ 、1evel) ;RaadBiCall (
’ S ’ 、 oldlaval ) ;if abs(lavel −ol
dLevel) <= deltaEpsilon thaninc(NumO
fODaltaRaads) Xend?
end;
(☆☆★☆脅會**☆嚢☆☆會★☆命肴★*☆★***☆☆☆☆☆會*貞☆☆★
☆*脅☆慟☆☆嚢☆僑☆嚢☆嚢嚢嚢)procedure SatPlunge
r(numsetPlunqars:integer;varFinalLev
el二integer ) X1evel、oldlaval、timesth
ru、5topcode : integer;0KfirstTry : b
oolaan;zpos : realX
pPos : longint;
junksc : integer;
begin (SetPlunger l(金 (*命會懺−壷會4に*嚢*d
k会会嚢會☆☆)if PMWriteFlag then b@ginRaa
d3DStateFila(zPos、pPos、junlcsc)HRaad
BiCall(’N’、l@val);Append(PMWritaFil@
) ;Writeln(PMWriteFile、zPos:2:6.’ :
’、pPos:l、’ : ’。
laval:l、’ SetPlungar commencas、、、’);
C1osia(PM’Writ@File);@nd7
(會☆☆*倫會☆☆倫壷☆☆☆★☆☆嚢) 嚢)OKfirstTry :=
falsa+TimasThru :wa O;
if ShowSw@ap than beginif NumSetPlun
gars m −1than writaln(’AUTOMAT工CMODE
’)
elsa writeln(’Number of LevelChecksi
m’、nums@tPlungers);@nd:
() ReadBiCell(’N’、1evel);Hif (laval
<UpLim) and (level > lowlim) than ba
ginif ShowSweap than writeln(’Bi−cal
l 1evel OK firsttime through SatPlun
gar、 ’ ) ;(☆ (貴会☆☆會嚢会会☆★嚢☆☆☆会☆☆)if P
MWritaFlag th@n baginRead3 DS tataF
11 @ (Z POS g p PO5g ] unksC) rReadB
iCsll(’N’、1evel);Append(PMWriteFile)
:Writeln(PM’l+1riteFil@、zPos:2:6.’ :
’、 pPos:l、’ : ’。
1evel:1.’ SetPlungar completed、’);C1
ose(PMWriteFile):and;
(☆★會愉★☆★★★金☆★4に*☆*嚢) 肴)exit;
end;
if NumSstPlunqers m−1then )′umSetPlu
ngars := 25;rep@at
if ShowSwaep than writeln(’READ工NG B
ニーCELL’);RaadBiCell(’N’、1evel);if (N
umSetPlungars m 25) and (TimasThru>s
+l) and(LeV@l<−UpLxm) and (laval>mLo
wLim) thenOKfirs’tTry:m true;(★ if T
imesThru m Othan bagin(do a validity
tast here −−1o1dlaval :寓1aval;
PlungarUp(20,5topCode);ReadBiCall(奮N
’、1evel);if 1eval 瓢o1dlavel then beg
inPlungerDown(40,5topCoda)HRaadBiCel
l(’N’、1aval):if (1aval * oldlavel )
and (1evel w bias ) thenegin
writeln;
writeln(’ERROR: La5ar Beam is not wi
thin ausable bi−call range、’);writel
n;
UsarWait+
(AddRamoveRasin(level); )Halt(1);and
;
end else PlungerDown(20,5topCode);an
d; (TimesThru W O)*)if 1evel > UpLim
than baginepeat
Plunqel:Down(1,5topCode)jReadBiCall(
’N’ 、1evel);until 1evel < UpLim;end;
=t 1evel < LowLim then beginepeat
PlungerUp(1,5topCode):RaadBiCall(’N’
、1evel);until 1evel > LowLim;end;
(tha 5tate file is not updated in Pl
unger moves ofl case、、、)
Updata3DStateFile (ZStagePos 、 Plung
arPog 、 5topCoda) ;inc(TxmtsThru)r
LiquidStableDalay ;()(命 (l dalay(PD2
★1ooo)H*)(if not((TimasThru > NumSa
tPlungars) or 0KfirstTry)than dalay(
PD2☆1ooo); )until (TimagThru > NumSe
tPlungers) or 0KfirsitTry;if ShowSwe
ap than writaln (’ F工NAL LEVEL”’、Fin
alL4v@l);
(*(☆★脅☆★會☆☆嚢**会☆☆嚢☆☆)if PMWritaFlag
than beginRead3DStataFile(zPos、pPos、
junksc);RaadBiCall(’N’、1aval);Appand
(PMWriteFile) ;Writeln(PMWriteFile、z
Pos:2:6.’:嘗、pPos:1.會、+。
1avel:lr ’ SatPlunger completed 、’);
C1ose(PMWritaFile);and;
(☆☆會☆貞☆會會會會★★☆★會會☆) 嚢)(★☆☆☆☆會☆脅☆★★嚢☆
★☆☆嚢★嚢★★★☆★**肴會會☆嚢☆☆☆☆☆☆貴★★★☆☆☆☆☆*嚢☆
)p r ロ c a d u r e
OneSwaep (index: intagar ; DipDepth
、 LayarDapth : real ) ;vB’(
stopcode : integar;currentZPos : rea
l;junkPlungerPos : longint;(脅if curr
entZPos > Othan DipDepth :w 8 else D
ipDepth:= 6;會)
if 1ndax IW 1
then bsgin
if ShowSw@ep th@n writaln(’ ZMova !’
、 (−(−DipDepth−Blad@GapL。
+ (LayerDapth * BladaGap[1ndexコ/Zoo)
)/25.4)ニア:3);
ZMovaGiv@nDistanc@(ZAccal、ZValoc、−(−
DipDepth −BladaGapLO+
(LayarDepth 會 BladaGap(indexl/Zoo))/
25.4(conv、to 1nches))
and a’lsa begin
if ShowSwaep then writeln(’ ZMove= ’
r (−((LayarDapth嚢BladeGap[1ndexl/10
0)−(LayarDepth *
BladaGap[1ndex−4]/100) )/25.4) ニア:3)
+ZMov@GivanDistanca(ZAccal、ZValoc、−
((LayarDepth ★BladeGap[1ndexl/100)−(
LayarDepth ★
BladaGap[1ndex−1]/100) )/25.4) ;@nd;
MovaBlada(Pariod[ind@x] 、5topCoda) ;
and;
(*会会*会会☆會☆會☆☆☆★嚢★☆*会會☆★☆☆☆☆★嚢★☆☆☆☆☆☆
**嚢會☆★☆自☆☆★會★☆☆*☆☆会嚢)p r OC@ d u r a
D OS W @ ’!! p (D 1 p D a p t h r L
a Y a ’X: D@e p t h : r a a l rRala
xationTime: integer) ;1evel、oldlaval
、iswaep、5topcoda : intagar;currentZP
og : real;junkPlungarPos : longint;(
☆if currentZPos > Othan DipDapth :wa
8 else DipDepthニー 67☆)
(ZW=RelaxationTima in 5econds // ZD=
DipDepth in MZVxZtableValoc // ZA :m
ZtableAccal // Naxt LayerThickness
wa LayerDapth ]if Showsw@ep than beg
inwriteln(’ LayerTh、icknass(mm)−’、La
yerDapth:5:3゜(nils)m’ 、(LayarDapth*1
OOO/25.4):5二3);writeln(’ ZMOV@ −嘗、(−
DipDapth/25+4):7二3.’ inchasl)i
writeln(’ +m’、−DipDapthニア:3.’ mm ’);
and;
(Move down ZD、DipD@pth、IZMovaGivenDi
stancs (ZAcc@l 、 ZVeloc 、 −DipDapth/
25 、4 ) ;(−ait po 1
pelay(コ500);
LiquidStableDelay ;(★ delay (postDip
Dalay☆1000); *)if (numchacks <> O) a
nd 、 (not dsamoFlag) thenS @ t P 1un
q a r (numch aCkfs r l @VQ l ) rif s
howsiweap then beginwriteln(’Zstag*P
o5m’、ZgtagaPosニア:2);writeln (’ Blade
GapLO/25 、4− ’ 、 (BladaGapLO/25 、4)
ニア :2戸writeln(’DipDepth (milI!i)−’、(
DipDepth/25.4)ニア:3);writeln(’LayerDe
pth (nils)m’、(LayerDapth/25.4)ニア:3)H
writeln(’l−2−3+4+m’、(ZStagaPos −(Bla
daGapLO/25.4)−(DipD@pth/25.4)
+ (LayarDepth/25.4))ニア:3);Wr ite l n
(’ Z S a fesW@ap” ’ r ZS a f@SW@@p
ニア : 3 ) rusarwait;
end;
(no sweep case )
(Note this critera does not 1nvolve
BladeGap[il、 1if (numswaaps <11! O)
or ((ZStagePos −(BladaGapLO/25.41if
ShowSweep than writeln(’*★” Unsafe t
o EAW@ep、’ ) r(Mova elavator up to t
ha ’draw naxt 1ayer’ position。
if ShowSwesp than writeln(’ ZMove=’
、 (−(LayarDapth−DipDepth)725.4) ニア:3
) ;ZMovaGivanDistanca (ZAccal 、 ZVel
oc 、 −(Lay@rDapth−DipDepth ) /25.4);
dalay(5);
Dalay(R@laxationTima(ZW) ) ;exit;
ndH
for igwaap :wm 1 to numsw@aps do beg
inon@SV@@p (1fAW@@p r DipDapth I LaY
@rD@pth ) ;end;
(Now bring the system to pre−swaap p
lus part 1ayerthie)cnassi、 )
if ShowSwaep than writaln(’ ZMova−’+
(−(BladaGapLO−(LayerDapth * BladaGap
[numSwaaps]/100)+LayarDepth)/25.4)ニア
:3);if not HopNguyan then beginif da
moFlag than
ZMoveGivenDistanca (ZAccel 、 ZValoc
、 −(BladeGapLO−(LayarDepth ” BladaGa
p[numSweaps]/100)ZMoveGivanDisloo)Z
(ZAccal 、 ZValoc 、 −(BladeGapLO−(Lay
erDepthBladaGap(numSwaapsl/100)十Laye
rDapth)/25.4);and;
delay(10);
ndH
(★★****−h*☆★☆☆*******☆☆脅☆☆*嚢★☆☆貴☆☆☆☆
☆☆★☆★☆肴★★*貴☆☆****肯★☆嚢)(貴脅☆★★會*会会会会**
貴會☆會☆脅★會*貴★☆★会脅會★☆倫☆☆貴☆☆食*☆☆☆☆☆☆食☆會☆
☆脅會☆☆☆)funCt ion expswaapersqrVe l Q
C1ty (Vlll : r@ML l ) : r@& l ;(Conv
erts a valocity in 1nches per 5acond
to thss sweep@rsprivat@ units、 Smal
ler trueVels correspond to greaterve
locities+ 1
trueVel = real;
begin
if Vial <W l then truaVel +m 76@lse
if vel <W 2 than truaVeL :m (val −1)
* (36−76)+76
else if vel <m 3 then trueVal :wg (v
al −2) * (23−36)+ 36
else if vel <va 4 then trueVel F! (v
ex −3) * (17−23)十23
alse if val <++w 5 than trueV@l :wm
(v@l −4) ★ (12−47)+ 17
alas if val (W 6 than truaVal :s++ (
val −5)* (10−12)+ 12
alga if vel <w 7 then truaV@l :++++
(v@l −6) 會 (9−40)+10
alsa if vel <wt 8 then truaVel :w (v
al −7) ★ (7−9)+ 11
alse if val <w 9 then truaVel :m (v+
al −8) ☆ (6−7)+ 9
alse if Vlll <! 10 than truaVel =m (
val −9) ☆ (6−7)+ 9
alsa trueVel :m 5;axpswaaparsqrvexoc
ity :w trueval;end;
procedure expsweeperBack;(5topCoda O
va nonnal raturn (could be the 11m1t
)l m abnormal −11m1t hit before com
pleted move(ZStage )
2 m abnormal −keypressed3−5tall 1
i : intager;
に@y : char;
()(5peed = raal; )begin
dalaytime :m trunc(spaad) ;if (ZStag
aPos < ZSaftSweap) than axit;port[sw
eapliml :m SFF;BladePog :wa MaxBlada
Movas;exit; (hit l土wit 5w1tch )and:
1nc(BladePos) :
rotatastap(1,Swaapstep) ;(if kaypras
gad then beginkey :t−= Readkey:
delay(1000) :
b @ e p ;
BladaPos :s++ MaxBladaMoveg;and:
and;
(☆☆會嚢☆會☆☆☆☆☆★脅會嚢★☆☆倫會☆命會☆4に命会會☆會4に☆★
☆☆會会嚢☆会☆嚢☆☆☆愉☆★☆☆☆★★☆)i : intagar;
に@y : char;
()(gpe@d : raal; 1egin
dalaytima :m trunc(stpead) ;if (Z8ta
gaPos < ZSafaSwaap) than exit;part[s
waepliml ニー SFF;i :麿0;
if ShowSwaap than writaln(−5WEEPERFO
RWARD l ) ;r@p@at
if (port[swaapLim] and 520) <> ’320
then beginport[5w@pcoil] ニー 90JBlada
Pos :wg O;
axit; (home 11m1t 5w1tch )@nd;
dec(BladaPos)+
if i <s++ 59 than 1nc(i) (ramp up )e
lse if BlaaaPos < 60 (ramp down )tha
n i +lll BladaPosi + 11rotatastep(−1
,swaapstep) :par−t(swapcoill ニー ((po
rt(swepcoill and 5F3) or)(sweepstep
and 9OF) IBanDalay(dalaytime + LnSta
ps[1l)iuntil ((keypressed) or ) (Bla
d@Pos (+m o);port[swapcoill ニー 500;(
if kayprassad then begink@’f ニー R@tM
1key;
and: 1
if BladePos <w Othen baginif ShowSwa
ap then writaln(’ 命命★ ERROR: 5TALL 1
nSW@@p@r FOr’War(1’ ) FBladePos :wm
O;
b@ @p ;
dalay(1000):
and;
and;
procadura axpMoveBlade(period=real);
SinaMoveParam : real;begin
(l[if pariod < 2 then baginif BladeP
os <> o than axpsweaperforwardelsa a
xpswaaperback;and elsia begin
case period of
2 : SinaMovaParam :sw 10−5;3 : SinaM
ovePara+n :m 6.8;4 : SinaMoveParam :
露6.2;5 : SineMoveParam :m 6.1:6 : Si
naMoveParam :wa 4;7 : SinaMovaParam
:wg 3;8 : 5in4!MOV@Parafn := 2.9879
: SinaMovaParam ;m 2.97F10: SinaMove
Param :s+’2.95;and+
if BladePos <> o thenexpsinemova (Ma
xBladaMovas 、 S ineMovaParam 、 ’ r ’
)1se
e Xp S l nemove (Max B l ad eMov e !
i r S l n eMov @Pa ram t ’ 戟@’ ) r
endX )
sinemoveparam :I!period;(1(if BladaP
og <> Othenaxpsinamove (MaxBladeMove
s 、 S inaMoveParam、 ’ r ’ )@lse
axpsinemove(MaxBladeMoves、Sin6MovePa
rarn、’l’);1if BladePos <> Othen axps
weaparforward(period)else expswaaper
back(period);and;
(☆★會会会会会脅★☆脅☆★倫☆嚢☆☆命☆☆會會☆會會☆☆会會嚢☆☆嚢☆
貴★☆嚢☆倫會礁・☆☆嚢嚢☆☆嚢☆★☆)rasp : integar+
thaDalay : intagsr;raalDalay : raal;
hourl、hour2゜
m1nd、m1n2゜
5acl、5ac2゜
5ec1100,5ac2100 : WORD ;bs+g釦
epeat
writ@(’1) for 5quare、2) for 5ina ?’
) ;rsadln(rasp );
if rasp m 1than baginwrite(’Raw dela
y ? ’ );raadln(thaDelay );GetTime(ho
url、 m1ni、 5acl、 5aclloo) ;Lf BladeP
os <> Othansweeperforward(theDalay、5
topCode)1se
SWa e p@ rl)a ck (theD@ l ay(St−0pCo
d@! ) ;and else if rasp w 2 than beg
inwrite(’Raw dalay ? ’ )ireadln(real
Dalay )HGetTime(hourl、 m1ni’、 5acl、
5aclloo) ;if BladePog <> Othenaxpsin
emove (MaxBladeMoves 、 realDelay、 ’
r ’ )else
expsinamova (MaxBladeMoves 、 realDel
ay 、 ’ 1 ’ )and:
GetTim@(hour2.m1n2,5ec2.gac2100);wri
teln(’5tart: +、hourl、’:’、m1ni、’:’、5a
cl、’:’。
5eclloo:2) ;
writ@ln(’5tart: ’、 hour2. ’:’、 m1n2.
’:’、 5ac2. ’:”。
5ac2100:2);
until false; (forever)and;
(貞☆*☆☆會脅☆*会會会脅命★☆会壷☆☆☆☆會*嚢嚢愉☆会會☆☆★☆☆
☆嚢☆☆☆會*慟☆★☆*☆☆☆☆*嚢)begin
(blade must be at tha front、alr@ady
checked inutlzstage 1nit )
swaapDafaultg;
RaadSWEEPxPRMfile;RaadKAC[NExPRMfila
;BladePos :m O:
5tap工tar :m O;
NoSwgep :m false;
ZClearBuffar;
Read3 DStateFile (ZStagePos 、 Plunga
rPos 、 j unksC) ;end。
unit S工N5TEPf
(組錦I麿−冨鳳冒Aロ1菖■龍I富=寓==冨鳳m、lll!nmm!l叫關
l璽藁mmm斗l−コD Systams Steraolithograph
y System Software−−−−−−−−−−−−−−−−−−−
一−−−−−−−−−−−−−−−−−−−−−−−−−−−−一−−−−−−
1(***食☆★☆★貴☆会★★**☆*☆★☆*貴★★*☆☆会★☆☆*☆倫
☆嚢☆★☆☆會☆脅会会☆★自會貴★肴★☆★)interfaca
usas CRT、DOS、UTLZSTAGE、UT工り工TYlionst
MaxSafeSineSpeed = l;BladaPos : inte
ger;procedure sinemova(st@ps: intaga
rHSwaepPariod: real;device、dir : cha
r; 5topcode:土ntager)fprocaclure axps
in@move(steps:intager; rawParam: rea
l; dir: char)r
(貴会★☆☆会☆☆會貴會貴嚢倫會**貴☆會嚢☆☆會☆會☆会☆☆☆會☆會會
會☆會☆会☆會☆會愉☆會☆愉☆☆☆*倫)implamantation
cons;t
JB ” 9300; (plunC3trr raCOatar addre
SS)JRC−5308; (8255: 4 MSB: plungar)C
oilDataPort ** 5309+ (4LSB: racoatar
)MaxBladaMoves ” 1255; (pr@ −m1crost
@pping )SwapCoil −5309+
SwaapLim sw 9308;
function SwaaparValocity(工nchesParsa
c:real):real;(No longer ussad−−JFT、4
/3/89 )(Used by SinaMove to correct
the valocity paramatar t。
correct 5peed、)
val : r@alt
begin
if工nchesPersac < 0.1 then vel :m (工n
ch@sP@rsac 10.1)會0.11
alsa if 工nchagParsac <m O,2than vel
:m((工nchesPsrsac −0,1) 7 0.1) ☆ (0,2
375−0,11) + 0+11elsa if 工nchesParsac
<w O,5than vel :m((工nch、esPersac −0
,2) 7 0.1) ☆ (0,68−0,2375) + 0.2375e
lse if 工nchasPersac <w 1.Othen vel :
wr((工nchesPars@c −0,5) / Oj) ☆ (1,55
−0,68) + 0.68;SweeperVelocity :xa va
l;end;
() (sinemove: microstepping of recoa
ter and plungar: 5aadascription of p
aramater at begin of file、La5t t@5tr
asults: batter performanca with CoPr
oc N+、 Ramp seamad t。
ba to slow for higher velocities (>1
0)、so AccalRampMax :m2 without furth
er tests i Te5t for this procedure:X
工CRO1,PAS (se@conditional defin@s) )
(No longer used+Expginamove is used
1nstead−−JFT。
procedura sinemove(staps: intagerXSw
aepPeriod: raal;(1@”J’LC@raLr : char
+ 5topeoda:integer) 1onst
DAnglaArray : array[o、、7] of integer
m(10,10,10,15,15,15,30,30) ;AccelRa
mpMax : 土ntegar ! 2;RampXAngth : int
@1qli!r −4;tYP@
LookUpTabla −array (o、 、45] of real;
5tapcount : int@gar+Xi、X2 : real;
Fld、AccalValua : intager;DIndex、 DAn
gla : intager;5inOfAnqlJ、C05OfAncile
: integer;QuartarPi、PeriodPoint : i
nteger;FldTimes : ]JookUpTabla;BitFa
ctor : integer;xoBit、xxBit、x;Bit : i
ntagar;Co11ABitl、Co11ABit2 : integer
;Co11BBitl、Co11BBit2 : integer;Singl
eBit、FLdCount : integer;う、d口ubl@、acc
alcount : integar;singla、null : inta
gar;口utput : int@ger;
rllp : xntager;
whichLim : integer;valoc : real;
begin
if (ZStagaPos < ZSafeSwaap) then exi
t;port[swaapliml ニー SFF;valoc :wa Sw
a@parVe1ocity(12,1/SwaspPeriod) ;if
device m ’p’ than BitFactor :wa 1als
a BitFactor :+m 16;Co11ABitl ニー 32 d
iv BitFactor;(20H,2)
Co11ABit2 ニー 16 div BitFactor;(10H,1
)
CoilBBitl ニー 128 div BitFactor;(80H,
81
Co11Bit2 ニー 64 div BitFactor;(40M、4)
(Fldl
Fld :m round(100/veloc+0.5)r(Dangle)
D工nc1@X ニー round(valoc+0.5)−17ifD工nd
ex < Othen DIndex :III o;ifD工ndax >7
than DIndex :s 7;for j :m Oto Dxndex
do Dangle :wa DAnqleArray[う];(Build
a table of values for the five−four
thg periodinterval、1
(The extra quarter 1ats us 1ook up c
osines aasily、1for jニー Oto (5☆Quarte
rPi)d。
FldTimes[jlニー5in(pi / 180 * DAngle *
j) * Fld;for 5tapcount :s++ l to 5t
eps do baginif (port[sw@apLiml and 5
20) <> 920 thenagin
if upcasa(dir)+w’R’ thanegin
port[swapcoil] ニー Goo:bladePos:wo;
5topCoda :m O;
exit;
and;
end else if (port[sweapLiml and 940)
<> 940 thanegin
if upcase(dir)s++’L’ thanegin
port[swapcoil] −Goo;k)ladePos:mMaxBl
adaMoves;5topCode :m O;
exit;
and;
and;
if (stapcount (! RampLangth) than be
ginAccelValue : w
AccelRampMax★round (valoc/3 )☆(RampL
ength−stepcount+1)div RampLength; (a
ccallif AccelValue < 1 then AccelVal
ue :m 17and;
if ((steps−stapcount+4) <m RampLangt
h) then beginA ccelvalue : −
AccelRampMax*round (veloc/3)☆(Ramp L
ength −(5taps−stepcount ) )div Rampし
=ngth:
if AccelValua < )than AccalValue :ur
1;arid elsga if (stapeount > RampLa
ngth)thanAccelValua ニー 1;
(Po1nt SinOfAngl@at lo or hi and of
table。
dep@nding on 5tep )(direction、CosCo5
0fAn is one−quartar pi ahead ofthis、
)
if upcaga(dir) wa ’L’than SinOfAngle
:w 0alsa SinOfAngl@:++m 360 div DAn
gla;cosofAJ′1g1a :Ill SinOfAngla + Q
uartarPi;for PariodPoint :w Oto (4☆Q
uarterPi)do baginXi ニー FldTimas[SinO
fAnglal;if Xi > 0廿ten X1bit ニー Co11A
Bitl (3220H)alsa if Xi < Othan X1bit
:= Co11ABit2 (1610HI@1g@X1bit :ww O
;
X2 :m FldTimes[CosCo50fAn];if X2 > o
then X2bit ニー coilBBitl (12880H)als
a if X2 < Othan X2bit =−Co11BBit2 (6
440Hlelse X2bit :W O;
xoBitニーo;
if abs(Xi) < abs(X2) than bagindoubl
a :w abs(round(Xi +0.5))iSingleBit ニ
ー X2bit;and:
if abs(X2) <! abs(Xi) then begindoub
le :wa abs(round(X2 +0.5));SinglaBit
:m X1biU@nd ;
single :! abs(round(abs(Xi)−abs(X2)+
0−5));null :w Fld−double−singla;for
accelcount :m 1to AccelValua (!Obegi
nif upcasa(dir) s++ ’L’ then begin (
leftlif double > Othan beginfor j :W
Oto doubl@do port[coilDataPortl ニーX
1bit+X2bit:
@nd:
if singla > Othen beginfor j :m Oto
single do port[coilDataPortl :wSingl
eBit;
and;
if null > Othan beginfor j :w Oto nu
ll do port[coilDataPortl :wXOBit;
end;
(enddirm”l1響)
and also bagin (dir llr”)(right )
土f null > o than beginfor j :w Oto n
ull do port[coilDataPortl :wXOBit;
ndi
if single > Othan beginforう=w Oto si
ngle do port[coilDataPortl :wSinglaB
it+
and;
if doubla > Othen beginfor j :w Oto
doubla do port[coilDataPortl :wXlbit
+X2bit X
ndr
end;(dirIIr−春)
end H(accelcount l(Updata 1ookup tab
le pointars、)if upcasa(dir) W ’R’ th
@n beginSinOfAngla ニー SinOfAngle−4;e
nd @lse begin
SinOfAngla ニー SinOfAngla+4;@nd;
CosCo50fJv1 :+w 5inOfAn91@ + Quartar
Pi;@nd7 (for SinofAngle、、、1and; (sta
ps)
port[coilDataPortl :m 5FF;if BladaPo
s <m Othan bagin() (if ShowSwaap tha
n writeln(’ ☆☆☆ERROR: 5TALL 1nSW@@p@
r SineMova Forward ’ ) ; )BladePos :
m O;
5topCoda :m コ;
b@IIp ;
delay(1000);
and t
end;
(☆☆會☆會☆☆嚢倫会★會会嚢☆☆★☆☆☆☆☆☆嚢☆嚢会会f*☆☆會☆☆
☆会会☆**会☆☆☆☆☆**肴脅★)procedure axpsinem
ov@(steps:intager; rawParam= real; d
ir: char);
C口nst
DAngleArray : array[o+−7] of intagar
=(IOlloJo、15,15,15,30,30);AccelRamp
Max : 支ntager −2;RampLength : intaga
r w 4;5tapcount : integer;)Q、X2 : re
al;
Fld、Acc@1Valu@: integar;D工ndex、 DAng
le : intagsr;5inOf劫gl@、CogOfAngle :
zntagartQuartarPi、PariodPoint : inta
ger;FldTimas : LookUpTabla;BitFactor
: 土ntegar+X0Bit、XIBit、X2Bit : intag
ar;Co11ABitl、Co11ABit2 : integar;Co1
1BBLtl、Co11BBit2 : integer;SinglaBit
、FLdCount : 土ntegar;j、doubla、acealco
unt : intagar+single、null : intagar;
output : 土ntagar;
r@p : intagar;
whichLim : intagar;valoc : raal;
begin
if (ZStag@Pos < ZSafeSwaep) than exi
t;port[sweepliml :+w SFF;veloc :m ra
wParam;BitFactor :w IU
CoilABitl ニー 32 div BitFactor; (20H,
2)coilABit2 :W 16 div BitFactor; (lo
g、:LICoilBBitl := 128 div BitFactor;
(80H,81coilBBit2 ニー 64 div BitFacto
r; [40)1,41(Fldl
Fld :st round(100/veloc+0.5)i(Dangle
)
D工nd@X ニー round(valoc+o+5)−1;ifD工nda
x < o then D工ndax :m o;土fD工ndax > 7
than D工ndax :wh 7;forう ニーa Oto D工nd@
X do Dangl@ ニー DAj191@IArray[]]?(Set
QuartsrPi to one−fourth pariod、IQua
rtarPi :st 90 div DAngla;(Build a ta
ble of values for the five−fourthg p
eriodintarval、)
(The extra quarter 1ets us 1ook up c
osines easily。
for jニー Oto (5★QuarterPi) d。
FldTimes[jl:=sin(pi / 180 倫 DAngle 食
う) * Fld;for 5ltepcount :wa 1to 5te
ps do beginif (port[sw@apLiml and 52
0) <> 920 th@nb@gin
if upcasa(dir)m’R’ thenagin
port[swapcoill −Goo:bladePos:xo;
exit;
and;
@nd else if (port[swaapLiml and 540)
<> s40 thenegin
if upcasa(dir)m’L’ thenegin
port[swapcoill ニー SOO;bladePos:swMax
BladeMoves:exit;
and+
and;
if (stepcount <w RampLength) then be
gin入 ccelValua : am
if AccalValua < 1than ACC@1lValue:”
1;and;
if ((steps−stapcount44) (+g RampLang
th) than beginACC+alValu! : !
AccalRampMax*round(valoc/3)*(RampLan
gth−(steps−stapcount))div RampLangth
+
if AccelValua < l than AccelValua ?”
1Xand alsa if (St@pcOunt > RampLang
th) thenAccalValua :! l;
(Po1nt SinOfAngle at lo or hi end of
tabla。
if upcasa(dir) wa ’L’than SinOfAngla
:w 0alse SinOfAnglg ! −360div DAngl
@;cosofAngle :wm SinOfAngla + quarte
rPi;for PeriodPoint ニー Oto、 (4* Quar
tarPi) do baginXi :m FldTimes[SinOfA
ngla];if Xi > Othan X1bit :m Co11入Bi
tl (コ2 20H1else if Xi < Othan X1bit
ニー Co11ABit2 (161LOHI@lso X1bit ニー 0
X
X2 :sw FldTimes[CosOCo50fAn;if X2 >
Othan X2bit ニー Co11BBitl (128BOHIels
e if X2 < Othen X2bit := Co11BBit2 (
6440)11else X2bit :va O:
X0Bit ニー 0;
if abs(Xi) < abs(X2) than begindoubl
e :wr abs(round(Xi +0.5));SingleBit
ニーw X2bitiand:
if abs(X2) <s++ absi(Xi) than begind
ouble :wh abg(round(X2 +0.5));Single
Bit ニー X1bit;and;
singla :wm abs(round(abs(Xi)−abs(X2)
+0.5));null =wx Fld−doubla−single;fo
r accelcount :wm 1ta AccalValua do b
aginif upcass(41r) m ’L’ than begin
(leftlif doubla > Othen baginfor j :
w Oto doubla do port[coilDataPortl :
wXlbit+X2bit;
end;
土f single > Othan baginfor j =wa Oto
single do port[coilDataPortl :vmSin
glaBit;
@nc1:
if null > Othan beginfor j :1w Oto n
ull do port[coilDataPortl ニーX0Bit;
end;
(and dir m”1”)
and else bagiri (dir ”r”1(right)
if null > Othan ’beginfor j :wz Oto
null c3o port[coilDataPortl :wgoBitr
ndj
it single > o then beginfor j :m Oto
singla do port[coilDataPortl :+wSin
gleBit;
and;
if doubl@> Othan beginforプ:m Oto dou
bla do port[coilDataPortl : −Xlbit+X
2bit;
*nd;
and; (dir ”r”)
@nd; (accalcountl
(Updata 1ookup tabla pointers、)if up
case(dir) s+ ’R’ then beginSinOfAngl
e ニー SinOfAngle−17and alsa begin
SinOfAngla ニー SinOfAngla+1;and;
CosCo50fAn :m SinOfAngl@+ □uarterpi;
and; (for SinOfAngla、、、1end; (iitaps
)
port[coilDataPortl ニー5FF;if BladePos
<m o than begin(1(if ShowSwaap than
writaln(’ 峠* ERROR: 5TALL 1nSWIl@pe
r SlntMOVQ Forward ’)i)BladaPog :wa
O;
b a @!p ;
dalay(1000);
end;
end;
(***☆☆☆★☆☆☆★★★★☆★脅★☆☆☆☆☆☆*脅☆☆☆☆*嚢★☆★
會☆嚢★☆☆☆橋★**嚢☆會倫★*☆)end、^Z
!会会會★☆☆會☆☆嚢脅☆★会會☆★☆☆☆命嚢☆會☆☆★☆☆☆☆**☆☆
☆☆會☆★☆會★☆☆☆★☆☆☆嚢☆☆**肴☆I Build Parama
ter Fil@r Version 3.60
− ☆會貴会會☆☆★會★4に嚢倫會☆會★☆會★★嚢☆会会会☆會會會☆☆★
☆会会會☆☆☆☆☆☆☆☆會i PartNama: Date:
1 工mportant Data:
! 1ast altsrtd:
工 會★嚢會☆☆☆★☆会会会☆嚢☆☆☆☆會☆☆會會☆☆會☆★貴☆☆☆會☆
★☆☆☆★☆☆☆☆嚢*☆! place options togathar
1nside of quotesX use ”’ if n。
options
! General Paramatars800 Elevator boa
rd base addressloo al@vator pitchl、5
56 XY−only 5cale factor; Usa 3.556 f
or工nchesand 5liza reswloo。
111.0.0
rrho、o、。
17000 Y−coordinate offsets5000 Max n
umb@r of bytsas par block Ln La5er Q
ueue26000.260oOMinimum X and Y of va
t araa (for graphicsviewport)
コ9000,39000 Maximum X and Y of vat a
rea#TOP、”DC+嘲’ ! Drift Correction on
#BTM、”ZW 30X! Z−axis wait time 1nsec
onds
ZD 8F !Z−axxs dip dapth in mmZV O−2;
! Z−axis VelOCltyparamater
ZA O,2” 工 Z−axis accelerationparamat
er
!会会会会壷会会嚢☆☆☆會☆☆會會會嚢☆☆会☆轟☆☆☆倫☆会嚢☆☆☆*☆
☆☆☆會金4に☆会会会会冑☆☆愉*☆☆*嚢MACHINE、PRM
I MACH工NE、PRM machine paramatar file
05/18/89SLA−2501!Ieachingヒype620 !
!IIaximum blade 5teps to cross vatO−
03I plungar 5teps par nil of el@vato
r movemantBEAM、PRM
I PROFXTJ: Parameters Table! Version
3.60
5000、コ2767 beam rest positionr Beam
Profils Data3 numbar of profile 5ans
ors3 5econd 5ensor channel 番63104.55
452 SaMOr $1 changed 3−24−89 MJHO,04
51/2 nil hole multiplier to get mWo、
ou6 1 n1l
O,005922m1ls changed 3−24−89 MJHO,00
0724n11g
1’ first 5ensor channel #4752.6543 5
ensor $2 changed 3−24−89 MJHo、040 1/
2 nil hole multiplier to get mWQ、0LO
21ni1
0.00776 2 m1ls changed 3−24−89 MJHO,
000634n1ls
コ2767、コ2767 position of 2 nil hole (
$3ン0.040 1/2 nil hole multiplier to
get rnWo、0010 1 n11
0−00605 2 m1ls
0.00063 4 m11g
13 # points in thermistor calibratio
n table19900.10 t@mparatura calibrat
ion tabla、 、。
15720.15 format is resistance (ohms)
、tamparature(C)
12490.20
10000.25
8057.30
65コ1,35
5321.40
4370.45
3604.50
2986.55
2486.60
2081.65
1 Fast、 Medium & Slow Ca1ibration De
lay Values! 1ine format is 5piral ti
me (ms) 、 between points (sees。
1/10 see ras)。
r b@twaen rows (sacs120.0.OFast: 20
ms、turnaround as quickly asposgible
50.0.5,5 Medium: 50 ms、l/2 sec、55ecs
100.20J20 Slow: 100 ms、 20 secg、 2 m
1nutes! Slew Rate Lim1t Parameterslo
oo maximum 5tep in aither axis2 dela
y batwaan 5tep points in millisecond
s!会☆會脅★☆會★嚢☆會☆☆會会會会☆会會☆自☆☆会*会命嚢會會☆☆☆
☆會☆☆☆☆☆★嚢☆会愉★*嚢☆☆倫☆☆☆☆金POWER,PRM
r PO籠RV:I+60 Paramaters File!会☆☆自☆☆會
會☆會★☆喚☆自會会會貴☆☆嚢會会★**☆☆☆☆貴会会☆会★☆☆☆會★☆
貴會★☆☆会會★☆☆☆**☆5WEEP、PRM
I S貿ΣEP、PRM 05718/89!
1 ! Is numsweeps
lo 1 Pi sweep velocityloo 1 Gl blada
gap as a percent of next 1ayerthic)
cnass (ignore if NSm1)1o r P2
100 1 G2
10 1 P3
100 1G3
10 1 P4
1oo 、 : G4
10 ! ps
100 r Gs
xo r p6
1oo !G6
xo r P7
100 1G7
0 1Bよりias wh@n Ha las@r is blocked9
! MD plunge Motor Delay : delay batw
een plungarmotor pulses (ms)
3.0 ! PS PlungStart : 1nches plunger
moves down t。
its 5tart position4 1 UL UPLIM : bi−
cell activate 1evel−4+ LL LOWLIM: bi
−cel、l activate 1evelo、125 ! BG Blad
aGapLO−distance between 1iquid andre
coater blade (inches)−1! NCNumber of
checks for leveling (0−> 5 or−1for
auto mode *自会 )0.3 ! DA Draining ele
vator accelerationo、5 1 DV Draining
elevator velocityo I XP @Xtra Platfo
rmheight(nils)、ZSafaSwaap+wZBladaLav
al+60m±1+xpnoshow ! Show or NNo−5ho
swa@p 1nfo (S or N in thefirst colum
n )
!☆會会会会会會會会命命*愉☆会会*☆会☆☆會会会命嚢會会☆脅會☆☆☆☆
会會愉會☆☆会☆☆會倫☆☆☆會會☆☆☆☆☆☆ZSTAGE、PRM
! ZSTAGE Parametars FilaI Version 3.
60
旧’ command 1ine options: /NEGZ、/S、7M
8oo elevator control board 工10 addr@
ss、5 acceleration parameterl valocit
y paramatar2000000 big distance (max
movament for up or down)100000 # of
m1crostaps par 1nch2000 timaout val
ueloooo ZBlad@Lave1
10000 ZLiquidLavalloooo ZUnloadLaval
^2
program AutoLevel;uses art、util土tyl、
utlsweep、windowgHjunksc : integer;
DisplayWind : wind;ExitSave : pointe
r;Done : boolean;
Ho1dKay : chart
thaL4v@1: integar;+ 9F+ )procedure E
xitAutoLavel X(5F−1egin
cursoron:
DefaultWindow;
C1rSCr;
ExitProc :w ExitSaverand;
clrscr;
centertext (’ Auto−Levalling Program
Vl 、1’ 、2 ) ;centertext(’Press L to
l4vel、 X to exit、 ’ r 4) Hand;
centertext (’Auto−Levelling in progr
ess 、 、 、 ’ 、 6) rSetPlunger (−x 、 t
he掬ve1) ;cantartext(’Levelled at ’ 、
6) ;write (PlungerPos ) :wrxtexn (”
) i
userwait;
DrawMainScreen:
end:
egin
(工n1tialize program、)ExitSava :m Exi
tProc;ExitProc ニー @ExitAutoLaval;Cur
iiOrOff;
Done :ag false;
(工n1tializa 5creen、)ClrmCrr
DefineWindow (DisplayWind 、 5 、5 、75
、20 、2) ;FrameWindow(DisplayWj、nd);
ActivataWindow(DisplayWind) ;orawMax
nscraani
(Raad keys、1
(”Xll k@y ax土t+s、)(”L” key autolaval
s、)epeat
epeat
delay(Zoo):
until kayprasgad;
Ho1dKey := upcase(RaadXey) ;if Ho1dK
ay −嘲X’ than Done ニー trua;if Ho1dKay
−’L’ than DoAutoLaval;until Done;
and、^2
(02101/89 JFT Mada 1nto a unit from
Wayna Vir++son’s code。
02/27/119 JFT Modifiad Too Hlgh” or
”Too Lowllsectionsto read until a pe
ak is raachad、than raad until thaabs
(leval) is 1asss than a thrashold va
lua−Tha us@r isadding or removing re
sin during this tima。
03101/89 JFT Above fix only works wa
ll for rasinramoval、Go to modifi@d o
ldar m@thod with epsilon of 5゜Changa
user massag@si。
05104/119 JFT Fixed (?) tha bug that
caus@d rep@atedadjustments when the
bicall was bullsayed、Changad userme
ssages and 5ounds、 Ramoved nead to p
rass key whenadjustment complete。
05/25/89 JFT Usa procadura HandlaKay
boardRaquast 1nadjust resin 1evel 1o
ops so that the user may abortw/ctrl
−c or break。
06/16/89 JFT Length@n move dona by p
lunger from 40 to 60when checking to
see if ws’ra on tha bicell、 Al5o us
eupLim ′and lLowLim 1nstaad of セwica
upLim and twice lowLim。
08103/89 JFT 工n CheckLavel、if 2nd or
3rd raadings arsio than call it off
the bicall、 )(會☆**◆☆☆會嚢☆會☆*慟嚢☆會會*峠*
***會*☆☆☆會★★★*☆會會☆☆森★*☆☆☆*☆會★☆☆☆☆☆)un
it UtlAdjust;
(S M 16]84,0,01
(9D十;工+)
(☆☆☆★肴脅☆☆☆會☆會☆會☆☆☆會**☆☆慟☆☆會☆★會肴會命**会
嚢貴☆☆會☆★*☆☆脅★☆☆☆☆☆★肴金)int@rface
usas Crt、Dos、Utllityl、UtlSwe@p、UtlZS
tage、Windows;procedure AddRamoveResi
n(var FinalLevel: intager);p r o c a
d u r e
procReadBicel l (displaydalay : inta
gar ; echo : boolean) Hprocedura Lon
gReadBiCall(displaydalay:xntagar)jpr
ocedure procPlungerUp(echo:boolaan);
procadure procPlungerDown(echo:boole
an)H(☆☆☆☆☆☆☆☆★☆★☆☆脅☆貴★★☆慟肴★★嚢☆☆☆☆會★★
嚢★嚢☆★☆會★★嚢★☆會☆★☆嚢☆★☆★★★☆)implementat
ion
onst
spgilon m 2; (+/−bias variation used
in add/ramOVeresin 1
opt、gtopc : integer;valocity2 : real
;
key、jun)c)cay : char;ユey@l : intagar
;
dssla、ytima : intaggr;onbic@ll、l@val
adjusted : boolaan+tempstring : stri
ng;AlartWind、DataWind : wind;(★☆**★會
嚢會嚢會*命★☆☆☆會☆貴☆會*☆☆☆☆會☆會☆☆☆會☆*嚢☆會☆☆會☆
☆☆☆嚢☆★☆☆峠嚢☆☆)p r o c e d u r e
procRaadBicell (displaydalay : intag
er ; acha : boolaan ) ;(工f acho is t
rue than writa Igv@ls to 5creen)プunk
5tr:string;
sign :sitring;
begin
RaadBiCall(’N’、1evel):土f echo then b
eginif leval < Othan sign :? ’+’ els
a sign :m ’−’;(Ravarsa 51gn5 for dis
play)if leval m Othan siign :m ” ; (
Ogets n。
sign)
junkstr :w concat(’The 1iquid 1evel
is’、sign、IntStr(abs(leval)))icenterT
ext(junkstrj);end;
d@1ay(displaydalay) :end;
(☆嚢脅☆會☆會會☆會*嚢☆☆☆☆会嚢☆☆命會會☆貴★*貴☆★★*☆☆☆
☆☆★命会☆★★★☆★*命倫嚢★☆★峠)procedure LongRa
adBiCall (displaydalay: integer) ;be
gin
epeat
procReadBicell(digplaydalay、falsa);
(don’tgchot。
1sevals to 5creen)until keyprassad;
key ニー Raadkey;
and;
(☆命舎会4に愉☆☆舎☆會☆会☆肴★☆會☆☆☆☆☆嚢☆*自☆☆☆☆☆☆☆
会☆☆☆倫脅會嚢☆*☆☆☆会会4に☆☆會☆町procedure proc
PlungarUp(echo:boolsan);begin
laveladjustad :” falsetrap@at
PlungarUp(10,gtopc)+procRaadBicall(1
,echo) ;until keypressed;
jun)C)Cey ニー upcasa(Readkey);end;
(☆*倫*脅會會会☆☆☆脅☆會☆会☆☆★*☆會★☆会☆☆會★☆☆會★☆☆
★★☆☆☆會**嚢☆會★☆嚢☆嚢☆☆★脅)procadura procP
lungarDown(@cho:boolean)+egin
leveladjustad := zalsa;epeat
Plun Cie r Down (X Or S t OpC) rpr 0
cRea d B i Ce 11(lt e chO) runtil ke
ypressad;
1unkk@!yニー upcasa(Readkey):and;
(会*会☆會☆★☆會☆☆☆★*嚢☆嚢☆*☆★嚢会★☆☆脅☆青☆脅☆★*☆
嚢会☆會嚢☆嚢☆嚢嚢會☆☆☆貴★★★嚢☆☆)procadure DoBe
ep(fraq、time : integer);begin
sound(freq);
delay(time);
nosound:
and:
(会☆★脅會☆會☆☆嚢☆★☆*肴☆☆☆★脅会★★*脅★脅★☆☆☆*壷*貴
壷☆冑會査★資☆★貴☆嚢***☆☆★★*嚢)procedure DoFi
nalAdjustment;xJevel、tempint、returnc
oda : xntegerlwagtaKay : char;
begin
ActivataWindow(AlertWind) ;clrscr;
if onbicell than begin (otharwisg sa
tplungar gatspissad )
centertext(’P@rforming automated fin
e adjustmentof rasin 1ava1.’、2):cant
artext (’ PI@!agll! 5tand by 、’ + 5
) rActivataWindow(DataWind)rclrscr;
ReaclBiceLL(’N’、L@V@kl);(1(t@mp1.nt
ニー at) i do C0urSa a(!ju!!t!1lant fi
rsttempint ニー 32; (do coursa adjustm
ent first 1apaat
HandlaKeyboardRaquast(wastaKey ) ;if
(level > uplim) than baginr@paat
for i :m l to tampint do baginplunga
rDown (1,RaturnCoda) ;dalay(400div t
ampint) ;end; (of i )
ReadBiCall(’N’、1avel);until 1evel <
UpLim;endj
if (laval < lowlim) than beginepeat
for i :m l to tampint do beginPlunga
rUp (1,raturncode ) ;d@1ay(400div ta
mpint) :endj (’ I
ReadBiCall(’N’、1aval):until rgval >
LowLim;end;
clrscr;
eantartext(’Pausing to allow resin t
。
5ettle、’、1)f
delay(50oo) ; (allow settling time )
C1rScr; (Pausa completed 1tampint :w
l; (nOW do finar adjustment IRaadBi
call(’S’、lav@l);until (lev@l < uplim
) and (lav@l > lowlim) :ActivataWind
ow(AlartWind)yclrscr;
cantsrtaxt(’Re5in 1aval now adjusted
for partbuilding、 ’ 、4) :
1avaladjustad ニー true;delay(2500)r
baap;
and; (if onbicall 1and; l of dofinal
djustment l(脅☆貴会*嚢☆★Ik☆☆☆会会★★会☆*壷会☆☆
會★會★☆☆☆会會W*肴会★★☆☆★★☆★☆☆自★*嚢☆☆嚢倫☆)pro
cdur@ChackLaval;(raadg and avaluatas
if on or off bicalland 5ets boolean
bicall accordingly )raturncode 、 fi
rstleval 、 5acondlavel 、 thirdleval
、 tempint: 土nt@qerr
C1rScr;
onbxcell ニー false;Cantertaxt(’Checki
ng resin 1eve1. ’ 、 1) ;Centertext(’
Please 5tand by、’H5);flrgtleVQl :w (
1B
secondlevel :l1ll 0rthirdlevel :x OH
ActivateWindow(DataWind) Xclrscr;
RaadBicell (電S ’ 、firstlavel);if (fi
rstlevel > 2☆uplirn) or (firstlevel
< 2Qowlim)then onbicell :m trueelse
b@qin (first gave bias type rn11dLnq
□couldstill be dead on IP l unq@rUp
(60r rn tu rn Cod@ ) 7(Th1s delay a
dded to thwart the recurrentadjustme
nt bug、)
Delay(3000);
RaadBicell (’ S ’ 、 s@condleval ) ;P
lungarDown (1;、p、 raturncoda ) ;(Th1
s d@lay added to thwart the recurren
tadjustment bug、 )
Delay(3000);
ReadBicall(マS’、thirdl@val)rPI un9@ra
p (60r r@turncod@) ;(both 2nd and 3r
d must not give bias readingto be on
bicell )
(会
if not (sacondlavalin(bias−apssllon、
、bias+epsilonl) andnot (thirdlevel i
n[bias−apsilon、、bias+apsilon])than 0
nBicall ?” true;肴)
(☆
if ((sacondlavsl > uplim) or (sacond
laval <1owlim)) and
((thirdleval > uplim) or (thirdlevel
<1owlim)) then
OnBicall :1111 tfullF☆)
if ((5acondLevel > bias + epsilon )
or (thirdLav@l < bias −jpsilon ) )th
an 0nBxcall :m t1@;(Tha following wa
s add@d to accomodate 5LAs withbiase
s outside of the range −1,、+1. Whan
off the bicell。
those 5LAs showad as on the bicell、
Th1s 5hould catchthat case、−−JPT 1
if (5acondLevel m bias ) or (thirdLa
vel −m bias) then 0nBicell :trt fals
e;ActivateWindow(AlartWind)H@nd; (al
se )
and: (of chackleval )returncoda、midp
lunga、plungamove = integer;egin
midplunge := maxplungemoves div 22pl
ungamove :m abs(midplungs −plungerpo
sl ;(always put plunger in mid posit
ion beforestarting part )
(for now always go all the way to to
p )p 1unq’l! rup (Or rntu L”ncode )
?plungerdown(maxplungamovss div 2,5t
opc) ;updata3dstataf ile (zstagapos
、 plungarpos 、 returncode ) H(if tra
cking showsi no problsm than activat
efollowing 1nstaad )(if plungarpos <
midplunga thanplungardown (plungamo
va 、 5topc ) +if plungarpog > midplu
nga thanplungerup (plungamava 、 5top
c) ; )FramaWindow(DataWind);Activata
Window(DataWind);ClrgCr:
c@ntartaxt(’Pausing to allow resin t
o s@ttle、’、1)Hdelay(10000); (wait 10
sac for 1avel to 5tabilizefter
fast plunge’ move )AetivataWindow(入1
artWind)rend; (canterplungar )(貴会★★☆
会★*貴☆☆******☆*貴☆☆☆脅★☆☆★☆★☆☆☆☆*愉☆*貴★★
嚢☆*☆債★★貞自☆☆)procedure AddRemoveResin
(var FinalLavel: integer):onst
CoarsaAd)ustLxm −xo;var
tampint、oldlavel、plungamova、option、r
aturncode :intager;
kQY r Wa S+−@ key: Cha r rt@mpreal :
real;
PeakRaachad : boolaan;MaxReading : i
nteger;egin
DafineWindow(AlertWind、10,7,70,18,2)
;DefinaWindow(DataWind、1.0,23,70,25.
1);DefaultWindow;
C1rScr;
writelnl
centerln(Product++ Re5in Lavel入djust
ment Utility’):writeln;
centerln(’Copyright (C) 1989 by 3D S
ystems、工r1C,I) Hpentarln(’3D Systems
StereoLithography Systam’);FrameWin
dow(AlertWind);(FramaWindow(DataWind
); )(DataWind Lm framed in、CantarPlu
ngar lActivataWindow(AlartWind);(fir
st sea if already did 1evel check )(
shovswaep :wm true: )if not 1aveladj
ustad than begincentertext(’工nitiali
zing resin adjustmentapparatus、’、2)t
cantartext(’Please 5tand by、’15);cen
tarpiunger;
CheckLevel;
Dalay(300);
if 0nBicell than beginActivateWindow
(AlertWind);C1rScr;
centertext(’The resin 1evel is curra
ntlyin’、2);
centertext(’an acceptable range for
partbuilding、’、3):
cantartext(’Manual adうugtmant will b
eunnecesgsary、’、5):DoFinalAdjustmant
;Updata3 DStataFile (ZStagaPos 、 Plu
ngerPos 、 5topc ) ;@xit;
and; (if 0nBic*ll )ActivateWindow(Al
artWind);C1rScr;
for tempint :w l to 3 do beg土nb@ep;
delay(loo);
end; (of tampint )centertext(’Th@ re
sin 1aval is not in anaecaptsible ’
p 2 ) rcentertext(’range for part bu
ilding、 ’ 、3) ;centertext(嘗AMANUALad
justmantwillbenecessary:’、5)r
cantartext(’Look at the white leveli
ng pointer atth@’、7);
cantartext (’ raar of f−h@ vat、’ t 8
) rcantartext (’工s resin touching t
he point@r? ’ 、9) ;While keyprassad
do wastekay ?−raadkay; (catchall pra
vious keys IWastakey ニー Readkey; (q@
tnaW k@’f l(LEVEL Too HIGH)
工f Upcase(wastekey) w ’Y’ than begin
’(1evel to。
centertext(’The resin 1evel is too h
igh、 ’ 、 l) :centertext(’Please ramo
ve resin until the beepsounds、’、5);
cantartext(’5top r@moving rasin when
you hearthe beep、’、6);
P@akRaachad :wm false;MaXRaading ニー
01
apaat
HandleK@yboardRaquast(wasteKay );Aet
ivateWindow(DataWind);r*acibicall(’N
’、1evel)z (need eiL!LCk readher・ )
(dalay(10);)
ActivateWindow(AlartWind):if abs(lev
@l) > MaxRaading than MaxRaading:W a
bs(laval);
if (abs(lav@l) < MaxRaading) and(Max
Raading > 50)
than PaakRaachad =1111 true;()(Until
(laval < bias−epsilon) or (level >b
ias+epsilan) ; )
()(、Until Paa)cRaachad and (abs(leve
l) <CoarseAdjugtLim); )Until abs(loy
al) > uplim+1((bias ) +apsilon)7
(bicall values nagativa at bicall to
p )cantartext(’Press anykayto contin
ua、、、’、8);epeat
DoBeep(Zoo、1000);
(delay(501; )
Until kayprassiad;wastakey :m raadke
y;clrscr;
centertext (’ Usar finished ramoving
resin、 ’ 、 5 ) :Chackしavel; (to、che
ck for too much H,quidremoved )
if not onbicell then beginClrScr;
centertext(’Re5in 1avel not in accep
tableranga、’、5);
DoBeap(100,1000):
dalay(2000)t
addr@moverasin(stopc)7and; (if not o
nbicell lDoFinalAdjustment;Updata3 D
StateFila (ZStagsPos 、 PlungarPog 、
5topc ) ;exit;
@nd; (if 1evel too high )(IJVEL Too
LOW I
C1rScr;
cantartext(’Th@rasin 1evel is too lo
w、’、l);centertext(’Plaaga add resin
5IaaY until theba@p 5ounds、’、5);
Paa)cRaachad =+w falsa;MaxReaaxng ?−
o;
epeat
HandleKeyboardRequast(wasteKey );Act
ivateWindow(DataWind) ;raadbicall(’N
’、lev@l); (need quick readhere )
(delay(10);I
ActivateWindow(AlertWind);if abs(lev
el) > MaXRaading then MaxReading:= a
bs(level);
then PeakReached :! true;+1(Until (l
evel < bias−epsilon) or (level >bias
+epsilon) ; )
(1(Until Pea)cRaached and (abs(level
) <coarsaAdjustLim)j )Until abs(lava
l) > uplim+1((bias ) +epsilon);
centertext(’Press any kay to continu
e、、、’、8);epeat
DoBaap(100,1000);
delay(50);
until kayprsss@ci;wastakey =w readka
y;C1rSCr;
cant@rtaxt(’Usar finished adding res
in、 ’ 、 5) ;Checkし=val; (to be 5ura
before attemptingfinaladjustmant )
if not onbicell then baginCantarText
(’Re5in lev@l not in acceptablarange
、’、5):
DoBaap(100,1000);
delay(2000);
addremovaresin(stopc);end; (if not o
nbicall )DoFinalAcljustmant;Updata3D
StataFile (ZStagaPos 、 PlungerPos 、
5topc) ;exit;
and; (if not l@valadjustad )clrscr;
cantartext(’Re5in 1evel is now adjus
tad for partbuilding、’、4);
delay(25001:
beep;
end; (addremovaresin )(**☆肴☆青★★*脅☆☆*
☆☆會☆★☆★☆嚢會☆☆☆★☆☆☆*嚢會嚢★★☆★☆☆*嚢嚢☆★*嚢☆嚢
嚢脅嚢嚢脅嚢☆)begin
leveladjusted :wm falserend。
+2
(−諺諺箇■冨−諺厘旙禦−埠禦一履麿30 Systems StaraoL
ithography Systam SoftwaraRECOATER,P
AS
SLA−250Racoater wipar and plungar Co
ntrol ProgramRacant H1stow了:
971278B Ver 3.30 first relaasad for
breadboardtasting
10/17/88 Var 3.301 modified to bauti
lity/1nitialization for final 5LA250
11/15/88 Ver 3.:31 copi@d from Rac口a
tl −uB@ C口mmonutl★、inc files
01/11/89 Var 3.32 remove sweeper for
ward back −−> usemove move sweaper
01/25/89 Var 3.33 JF’r r@movad swaep
ar valocitybiasing −−> pass dasirad
velocity in in/s@c to MoveBlada。
SweaparForward or SweeperBack、 Check
s constant S工MULAT工0Nto sea if we wa
nt to run this as a simulation (n。
communication with 5LA) (u+5aful for
running onworkstations not attached
to 5LAs)。
01/30/89. JFT merged with Wayne ’ s
updated AddRemoveResinprocedures。
02101/89 USES Windows、 Move AddRamov
eResin to unitUtlAcijus、 USES UtlAdj
us。
02/16/89 Adjust 5tart Po5ition 5ets
new ZPlungaSetPosand 5ands the eleva
tor to that position。
03107/89 JFT Added exit proc to forw
ard sweepar。
03109/89 JFT Racalibrated sweep peri
ods t。
account for final compiler options。
03/10/89 JFT Fixed UtlAdjust so that
it may bebroken out of。
0:1728789 JP’T V3.42 Changa sweep pe
riod nowbullat−proofed to 1nput。
03/30/89 JPT V3.43 Writa paramaters
to machina、pr′m1nstead of zstage、prm
+05/25/89 JFT V3,61 Allow usiar to b
reak out of adjustresin 1evel 1oops。
06107/89 JF’T V3.61B Make stirring a
asiar to break outof。
06/15/89 、JPT V3.61CBstttar gtirrin9
utility(multi−gpa@d)。
06/16/89 JFT V3.61D Batter bicell ch
ack (seeUtl入djustt、pas)。
o6/16/89 JFT V3.61E Fix 5tir utility
by using theindaxar’s MA (Mode Alte
rnate) command。
07105/89 JFT V3.61F Single Co11 Hold
ing Torque。
07/21/89 JFT V3.62 Changad varsion #
。
07/24/89 .7FT V3.6コ Fixed adjust ras
in 1evel (?)。
++++−++++++++++−++++++−−−−−−−−−−−−−−
−−−−−−−−−−−−−−−−−−−1(S M 1.63B4,0,0)
(So−を工+)
(R+)
usas Crt、Dos、Utilityl、UtlSweap。
UtlZStage 、 windows 、 UtlAdjust 、工nd
axar ;(S工product、1nc)
Version工d m ’3.63’:工ndant w 19X
epsilon !ll; (+、’ −bias variation us
ed in add/removeresin I
Simulation m fals@X(工s this a simula
tion (no 5LA)?Op tt S tOpC: l n t e
C1e r rSweepPariod : real;keyI junkk
ey : charllevel:integer;
dalaytima : intagar+onbicall、1evelad
justad : boolean;temp’string : strin
g;TopWind 、 BottomWind 、釦troWind : W
ind;5aveExit : pointer+(峰★脅☆★★☆☆會*嬌☆
★☆倫★貴☆貴★*倫*自☆*慟*☆☆★脅☆★☆嚢☆☆會☆★★会肴☆☆☆會
肴☆☆*嚢)Procedure CantsrText(tampstrin
g : string;RowNumber :Int@Ic1er ) ;
egin
qOtOXy(1t rO■■山@ r ) rClrEalt
if length(tampstring) >s+ (lo(WindMa
x)−1o(WindMin))then gotoxy(1,rownumb
er)e l s e
gotoxy(((lo(WindMax)−1o(WindMin)71en
gth(tempstrinq)) div2)、rovnumbar);
write(tempstring) :endX )
(☆☆☆☆☆☆☆☆☆会☆☆會☆☆★貴★☆*貴☆☆貴★☆嚢☆****倫★☆
嚢☆貴★****愉★★★★☆★★嚢☆貴★☆)procadura Exit
Recoatar;egin
sweeperFOrWa rci (:3 r S topc ) ;cur
gOrOn;
ExitProc :! 5avaExitHHalt(0);
end:
(☆貴会**会☆☆*嚢☆☆☆嚢★會**脅☆☆★★*愉★★★嚢★★★***
*☆★☆☆★☆★*☆★☆*☆☆嚢★脅★★肴)procedure Disp
layLavelBうunkStr : stringH
sign : string[1]X
egin
procReadBicall(500,true);end;
procedure DefaultWindow2;egin
DafaultWindOWi
window(1,1,80,22);end:
procadur@ShowPowarManu;1 : xntegari
junkstr : !1trln(i;egin
DefaultWindow2;
C1rScr;
FrameWindow(BottomWind);(ActivataWin
dow(BottomWind);DigplayLavaly )
DafaultWindow2;
centertext(Product+’ R@coatar Utilit
y ControlProgram’、l)+
Wrltlllni
cantartext(’Version ’+Version工d+’ So
ftware Re1aasa’ +Ram 3 D r 2 ) rcent
ertext(’Copyright (C)1989 by 3D Syst
ems、 工nc、’、3);centertext(’30 systems
La5ar StareoLithographySystem’、4)7
if Simulation then csntartext(’SIMtJ
LAT工ON INPROGRESS’、5);
for l:=l to 5 do Wrl?、Qln+F r a m aW
l n dow (TopW l nd ) iActivataWindo
w(TopWind);C1rScr;
writeln(’ 1. Adjust Re5in Laval Util
ity ”4 ;writeln(’ 2.Sweep ’);writeln
(’ 3.ChangeSweep、Pariod’);writeln(’
4.LowarLiquid’)HWrLtaln (’ 5− Ra1se
Liquzd ’ ) ;writeln(’ −6,Ad′3ust Bui
lding 5tart Po5ition’);writeln(’ 7.5
tir Liquidl);writ@(’ X、Exit’);
D@faultWindow2H
csntert@xt(’Please make a sg@l*ction
、’ 、1g);writeln;
・nd7
pl”QC@dur@ Writ@ZStart’L@V@ l (News
tartZ Llavel : real ) ;Con≦t
ParamFilaNama wr ’\3DSYSXFiACH工NE、XY
Z’;NewNama s+ ―\3DSYS\MkCH工NE、PRM’;工
0arr、i、m、n、valcoda : intagar+j = lon
gint+
r : real;
ParamFilaLine、 AppandTaxt = 5tr80;Pa
ramFila、NewFile: text;工nchDistancast
r : 5tr130;DirInfo : s@archRac;工nput
Line : string;bagin
openParamFila :m ParamFileNama;ass+i
gn(ParamFila、OpenParamFile) ;rawrita
(ParamFila):as+sign(NewFile、NawName)
;reset(NewFile) X
while not eof(NewFile) do beginraadl
n(NewFile、InputLinel:writeln (ParamF
ile、 InputLine) rend;
rewrite(NewriLel+
xO@rr :! 工Or @ m u l t 7if l0arr <>
Othen baginOpanParamFil* :m ParamFil
saName;assLqn (ParamFile 、 OpanParam
Fila ) ;rasat(ParamFila) ;xo*rr :111
工Or@mu1tfif roerr <> Othan OpenPara
mFila :w ”ana: (工o error)
Rl0arr m Othan begini i−0;
r@set(ParamFila):
r@paat
readln (paramFila 、 paramFilaLin@) ;
writeln(newFile、paramFilaLine);until
paramFilaLina wz ’ZSTAGE、PRM’;whila
(not eof(ParamFila)) and (i <s+ 9)
do b@ginfor j:ml to 255 do ParamFila
Lina[il:m”:raadln(ParamFile、ParamFil
aLina);if i < 7 th@n vrit@ln(NewFile
、ParamFilaLir+e)alsa bagin
if−i m 7 than appandTaxt :m ’ZLiquid
Lavel’;
alsa writeln(NewFile、ParamFileLine)
;ndt
(ParamFileLine[l] <> ’I”) then 1nc(1
);and:
while not eof(paramFila) d。
bagin
raadln (paramFil@、 paramFileL、ins )
:wr lt@ l n (n ewF il e r pa ramF 11
@Ll nla ) rend:
and+
ZPlungaSetPog :m NewStartZLavel + 0.
315; (8mm 1overthan 5tart、)
closq(NewFile) ;
close(ParamFila) rand;
prOc@C1ur@ ZSurfacePositxon(var ZVal
ua : real) ;onst
ZVSlow m ’O,1OOOOO’X(Slow 5peed for
setting 1avalskey: char;
dumbk@ytOK : booLaan;5topCode : inta
ger;ZVSetZ : 5tr10;
bagin
dumbkey :+w falsa;ActivataWindow(Top
Wind);clrscr;
Cantartext(’Use up and down arrows f
orpositioning、 ’ 、 l) ;centertext(’
5pace to halt、 ’ 、 2) ;Centertext(’
S to 5hift to slow 5paed、’ 、コ);Cente
rtext(’ and X when at the desired 1a
ve1.’、4);、zvsatz :W ZVeloc;epeat
OK ニー falsa。
epeat
key :W lzl;
HandleKayboardRequest(key) ;key :m u
pcase(key) :if dumbkey then )(@yawl
l;dumbkey:=false;
if key in [4172,180,電 I、電S’ 、 ’XI ]
than OK :m true;(up and down arrows
1until 0Kr
case key of
$72 : bagin
if not NagZStage thenZFraaMoy@(ZAcce
l、ZVSatZ、’UP ’) algaZFraeMovs (ZAcce
l 、 ZVSatZ 、 ’ DOWN ’ ) ;dumbksy ;gm
tru@;
ndf
参80 : bagin
if not NagZStaga th@nZFraeMove(ZAccg
l、ZVSatZ、’DOWN’) alsaZFreaMova(ZAcce
l、ZVSatZ、’UP ’);dumbkey :m trua;
and;
’S’:begin
ZVSatZ :m ZVSlow; (change to slowspe
ad I
C@ntartsxt(’5hifted to slow 5peed’ 、
6) ;cantartext(’ for final position
ing、 ’ 、7) ;@ndH
’X’: begin
() ZValu@I ニー −absi(ZStagePos) ;@xit
;
and;
arid ;
until falsaF
ndH
prQC@1dur@! Adj uS tBu 11dstart ;ins
tring : 5trinq;valcod@ : int@ger;うun
k5tr : string;
NewStart : real;
Tamp : real;
bagin
StopKey :m true;
Tamp ニー ZLiquidLevel;Activatawindow(
BottomWind);clrscr;
Centertext(’Moving elevator to curra
nt 5tartposition、 、 、 ’ 、l) IGotoZPo
s(1)F
cantartext(’Po5ition the alevator at
the desir@d 5tartposition、 ’ 、 1) :
ZSurfacaPosition(ZLiquidLaval);clrsc
r;
AetivateWindow(Bottom%l7ind);C1r11er
;
プunkstr :W concat(’A new build start
ing 1sivel has bean@nt@r@d、’);
centertext(junk5tr、l);ActivateWindow
(TopWind)sCl r !i Cr ;
cantartext(’入CC@pt this n@W 1aval ?’
+2)japaat
dalay(100)
until Ksypressed;
if tamp <> ZLiquidLevel than baginif
upcase(raadkay)m’Y’ thanWritaZStart
Lavel (ZLiquidLavel)else ZLiquidLave
l =m tamp;and;
5topKay :m falsa;
GoToZPos(2); (Go to Chack Re5in Leve
l position、)(1(ZReadParms;)
ndH
procedure SatNawDalay:instring : str
ing;valcode : integer;うunkstr : stri
ng;
tempReal : raal;
bagin
ActivataWindow(BottomWind):jun)cstr
:+* concat(’Enter gwaapar period [no
w’、RaalStr(SweepPeriod、2)、’ g]: ’)rC
@ nt @ rt@ Xt (] un kS t r r 1 ) ;ra
adln(instring);
if instring <> ” than bagintampRaal
:w RaalVal(instring、valcoda) ;if (t@
mpR,aal > maxswaepPsriod) than tampR
aal ’ :wamaxswaapPeriod:
if (tampRaal < minsweapPeriod) than
tampRaal :mminswaapPmmlns;
and;
cursoroff+
if (valcoda w O) and (insitring〈>I T
) than SwaepPariod :mtampReal;
junkstr :wm coneat(’Swaeper period n
ow sat t。
’、RaalStr(SweapPeriod、2)、’ 5aeonds’)
;centertext(うunkstr、’1):delay(:1000)
;
and;
procedure GetSalactionl;bagin
rapaat
ActivataWindow(BottomWind);DisplayLa
vel ;
ActivateWindow(TopWind)rHandlaKeyboa
rdRequast(key);key sur upcase(key);i
f key inじ1+ 、 、+7″、 ’X’ ] then exit+
until false;
ndr
(☆*嚢☆貴会壷會愉★會嚢會會会會★貴☆☆**命*嚢會☆貴☆貴★★☆☆倫
☆*金会命命會*嚢嚢愉☆☆嚢貴★☆脅貴脅☆)procedure DoBe
ep(freq、time : integer)Hegin
sound(fraq);
dalay(−time);
nosound;
end;
(★会會命★☆貴会会☆會☆☆★嚢貞☆☆☆**嚢★☆**☆☆☆☆**☆★☆
☆☆会☆☆★☆☆☆會倫☆☆★☆☆★☆☆*貞)proceduredoUpL
iquid;bagin
ActivateWindow(BottomWind)HprocPlung
erDown(true)rActivateWindov(TopWind)
;and7
(★☆★☆***僑嚢★☆☆☆嚢★☆☆☆★☆冑會☆***倫☆脅☆★★☆*嚢
☆☆*肴☆☆**☆會☆☆☆☆☆☆★*☆*☆)procedure doDo
wnLiquidXb@gin
入ctivataW土ndow(BottomWind);procPlung
erUp(true);ActivataWindow(TopWind)Ha
nd;
(☆☆☆☆☆會☆☆☆★嚢☆脅☆☆*☆★★*☆★☆貴會☆☆☆☆☆★***倫
☆☆☆☆★☆*☆☆☆青☆青★☆☆☆★*☆★)procedure 5tir
;
wastaKay : chart
endPos : long工nt7
andPosstr : string;abortstir、5top :
booiaan;accal、veloc : string;(−−−−−−
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
−一−−−−−−−−−−−1procadura E1evatorCo+t
nand(thacmd : string ):response : gt
rlncl;bagin
if thecmd <> l’ then if SendCmdTo工nd
axer(thacmd+’’lZTimaout) <> 。
than begin
beap;
and
alsa if RaadRasponseFromlndaxar(resp
onse、zTimeout)〈〉 0
then begin
k)@ @p ;
end;
@nd;
(++++++ +++++++++++ +++++ +++++++++
−−−−−−−−−−−−−−−−−−−−−)bagin
andPos :s+ trunc(zstapsPer工nch * (−1
) * (zLiquidLavel−0,5))i
S t r (e nd POm t @n d POSS tr ) rAc
tivateWindov(BottomWind) ;C1rScr;
Wr4.ta(’ ST工Rfast/madium/slow (f/m/S
) : ’);rapaat delay(100) until kaypr
assad;wagtaKey ニー UpCase(RaadXay) ;a
bortstir :w falsa;casia wastaKay of
’S’ : bagin
accal :m ’0.5’:
Valoc :wa +1+。
@nd;
’M’ : begin
accal :m 151;
valoc :m 151;
ndj
’F’ : bagin
accal:+w’101F
veloc :m ’10’;
end;
else abortstir ニー true:end;
if not abortstir then beginClrScr;
Write(’ ST工RRING : press、any key to
abort、、、−’ );GoToZPos(2);
El*vatorCommand(’E MAλ’ + accal + ’
V’ + veloc ) ;r@p@at
if KeyPressad then 5top :m trua;dela
y(100)t
if xayprstssaa then 1stOp ニー truatun
til (5top );
C1rScr;
Write(’ Aborting 5stir operation、、、
’ ) fEl@VatOrCO!I1mand(’に’ );ZGoHome
H
GoToZPos(2);
and;
C1rScr:
入ctivataWindow(TopWind);and;
(★会☆☆☆嚢☆会会★☆☆☆★☆☆☆☆☆*☆☆☆*嚢會會*脅☆☆*慟会★
☆倫脅☆☆☆☆☆☆☆☆★會☆☆☆嚢☆會☆☆)b@gin (RaCoate
r l
TaxtBackground(Black);TextColor(Whit
e);
5avaExit :m ExitProc;ExitProc :w @Ex
itRacoater;DafaultWindowH
clrscr;
DefinaWindow (TopWind 、 Indent−1、7、8
O−Indant 、16 、l ) ;DafinsWindow(Bott
omWind、 1o、23.)0,25,1);DefinsWindow(
工ntroWind、10,7,70,1.2);if Simulation
then 0nBicell :m falsa;Read3DJtateF
ile(ZStagaPos、PlungerPog、stopc)H5wa@
pPariod ニー DefaultPariod;LavalAdjust
@d :1Ill false;dalaytime :m trunc(Sw
aepPeriod):CursorOff;
FrameWindow(工ntroWind) ;ActivateWind
ow(Intro%4ind) :C1rScr;
C@nterTmt(’Elevator moving to check
resin 1evelclrscr+
epeat
ShowPow@rManu;
ActivataWindow(BottomWind) ;Activata
Window(TopWind) ;GatSelactionl;
cas@key of
’1’: AdaemoveRasin(stopc)r’ 2 ’ : Mo
veBlade (SweepPeriod 、 5topc) ;’3’:
SatNawDalay;
’4’: doDownLiquid;+5曾: doUpl、1quid;
161: AdjustBuildSta、rt;’7’: 5tir;
’X’: Halt(0)f
and:
key :w ’ リ
untxl false;
Cursorσn;。
(We exit through abort、 、、 we naver
reach hare、 )and。
上述のように本発明を特定の実施例について述べてきたが、各種の変更例が使用
できる。例えば、余分な重合性液体はドクターブレードによって掻き取られると
説明したが、レーキその他の除去手段も利用できることは明らかである。また、
重合性液体の浴の上面の水準を検出するための手段として放射線源および検出器
について述べ°たが、機械式、電子式、空気式その他の広範な装置がこの水準を
検出するために使用できる。例えば、フロートによる装置について説明した。他
の修正および改良も本発明の範囲を逸脱せずに使用することができる。従って、
本発明は、添付請求の範囲によるところ以外、0かなる制限も受けるものではな
い。
浄書(内容に変更なし)
Az几ノー
浄書(内容に変更なし)
A’XIジグ fk−、zz
浄書(内容に変更なし)
浄書(内容に変更なし)
F/6.23c
手 続 補 正 書 (方式)
国際調査報告
Claims (49)
- 1.三次元物体を形成するための立体造形システムであって、 (a)物体支持装置と、 (b)物体支持装置の表面に重合性液体の薄層を付与するための装置と、 (c)希望の厚さの重合性液体の平滑な層を得るために、付与された層から余分 な重合性液体を掻き取るための装置と、 (d)重合性液体の平滑な層に既定のパターンで硬化媒質を当てるための装置と を含むシステム。
- 2.請求項1記載の立体造形システムであって、重合性液体の浴を入れるように 適応された槽を含むシステム。
- 3.請求項2記載の立体造形システムであって、槽内で物体支持装置を上下させ るための装置を含むシステム。
- 4.請求項1記載の立体造形システムであって、掻取り装置がドクターブレード であるシステム。
- 5.請求項1記載の立体造形システムであって、ドクターブレードを平面移動さ せるための装置が備わっているシステム。
- 6.請求項3記載の立体造形システムであって、物体支持装置を上下させるため の装置が、物体支持装置に付与された表面に重合性液体の薄層を形成するために 重合性液体の浴内で物体支持装置を下降させるための装置を有しているシステム 。
- 7.請求項6記載の立体造形システムであって、物体支持装置を上下させるため の装置が、物体支持装置の表面の重合性液体の層を浴の上面より上に引き上げる ための装置を有しているシステム。
- 8.請求項7記載の立体造形システムであって、掻取り装置がドクターブレード であるシステム。
- 9.請求項7記載の立体造形システムであって、物体支持装置を上下させるため の装置が、物体支持装置の表面の重合性液体の平滑な層を、層の上面が構内の浴 の上面と同じ高さになるように浴内に下降させるための装置を有しているシステ ム。
- 10.請求項2記載の立体造形システムであって、槽内の浴の水準を制御するた めの装置を含むシステム。
- 11.請求項10記載の立体造形システムであって、槽内の浴の水準を制御する ための装置が、浴内を上下できる浴内に配置されたピストンを有しているシステ ム。
- 12.請求項11記載の立体造形システムであって、槽内の重合性液体の水準を 検出するための装置および、検出された水準に応答して浴内でピストンの垂直位 置を調整するための装置を含むシステム。
- 13.請求項12記載の立体造形システムであって、検出された浴水準を表す信 号を生成するための装置と、その水準信号を希望の浴水準を表す基準信号と比較 するための装置と、さらに、検出信号と基準信号の差に応答してピストンの垂直 位置を調整するための装置とを含むシステム。
- 14.請求項1記載の立体造形システムであって、重合性液体を硬化させるため に紫外線を発生するためのレーザを含むシステム。
- 15.請求項14記載の立体造形システムであって、レーザがHe−Cdレーザ であるシステム。
- 16.請求項14記載の立体造形システムであって、レーザの移動および出力を 制御するためのコンピュータ制御システムを含むシステム。
- 17.請求項16記載の立体造形システムであって、物体支持装置の移動を制御 するためのコンピュータ制御システムを含むシステム。
- 18.立体造形により三次元物体を形成するための方法であって、 (a)物体支持装置に備わった表面に重合性液体の薄層を付与することと、 (b)付与された層から余分な重合性液体を撞き取ることにより表面の重合性液 体の層を希望の厚さに平滑にすることと、 (c)重合性液体の平滑な層に既定のパターンで硬化媒質を当て、その層を十分 に硬化させ、その結果、その層が以降の1以上の重合性液体の層を支えられるよ うにすることを含む方法。
- 19.請求項18記載の方法であって、硬化媒質が、紫外線、赤外線、可視光、 電子線、X線およびガンマ線から成る一群から選択された放射線である方法。
- 20.請求項19記載の方法であって、重合性液体が紫外線によって硬化可能で あり、硬化媒質が紫外線である方法。
- 21.請求項18記載の方法であって、重合性液体の層が、物体支持装置の表面 を重合性液体の浴中に浸漬することによってその表面に付与されることを含む方 法。
- 22.請求項18記載の方法であって、重合性液体の付与された層が浴から引き 上げられ、余分な重合性液体が水平移動するドクターブレードによって掻き取ら れ、物体支持装置の表面に希望の厚さの重合性液体の平滑な層を形成させること を含む方法。
- 23.請求項18記載の方法であって、重合性液体の層が平滑にされた後、物体 支持装置が、重合性液体の平滑な層の上面が浴の上面と同じ高さになるように浴 中に下降されることを含む方法。
- 24.請求項23記載の方法であって、重合性液体の平滑な層の上面が浴と同じ 高さに配置された後、層が硬化媒質に暴露されることを含む方法。
- 25.請求項24記載の方法であって、平滑な層が硬化媒質に暴露された後、物 体支持装置がさらに重合性液体の浴内に下ろされ、重合性液体の次の層が先行し て硬化した層の上に流入できるようになることを含む方法。
- 26.請求項18記載の方法であって、重合性液体の多数の薄層が付与され、平 滑にされ、硬化されることにより三次元物体を形成することを含む方法。
- 27.請求項18記載の方法であって、硬化媒質が、波長約300〜350ナノ メートル、出力約10〜30ミリワットでHe−Cdレーザから放出される紫外 線であることを含む方法。
- 28.請求項19記載の方法であって、ドクターブレードの水平移動速度が毎秒 約0.25〜10インチであることを含む方法。
- 29.請求項18記載の方法であって、硬化媒質の適用によって重合化される重 合性液体の層の厚さが約0.005〜0.04インチであることを含む方法。
- 30.液体の表面の水準を測定するための装置であって、 (a)電磁線のビームを発生させ第1の光路に方向づけ、ビームの検出可能な一 部が液体の表面から第2の光路で反射するように液体の表面に当てるための装置 と、(b)衝突してくる電磁線の移動に応答して電気信号を変化させる検出器と 、 (c)液体の表面の水準に垂直な一定距離で、かつ、反射されたビームが検出器 と交差するように第2の光路に沿って検出器を取り付けるための装置とを含む装 置。
- 31.請求項30記載の装置であって、検出器からの電気信号に応答して液体の 水準を変更するための装置を含む装置。
- 32.請求項30記載の装置であって、検出器からの電気信号に応答して液体の 水準を表示するための装置を含む装置。
- 33.液体の表面の水準を測定するための装置であって、 (a)出力が液体の表面の上方から液体の表面へ第1の光路に沿って方向づけら れ、液体の表面から第2の光路で反射するように方向づけられているレーザと、 (b)それぞれが出力を有しており、衝突してくる光度によって変化する電気信 号をその出力に生じる、連結された多数の光電池と、 (c)レーザ出力が連結された光電池の1以上に衝突するように液体の表面の水 準に対して垂直方向にそれぞれ一つずつ上方に光電池が心合せされており、連結 された多数の光電池を第2の光路に沿った液体の表面の上方に取り付けるための 装置とを含む装置。
- 34.請求項33記載の装置であって、多数の入力および1出力を有する比較回 路で、各入力は連結された多数の光電池の1つの異なる出力と接続されており、 連結された光電池のそれぞれによって生じた電気信号の相対振幅を比較し、この 比較回路の出力に応答して信号を生成するための比較回路を含む装置。
- 35.請求項34記載の装置であって、液体の水準を比較回路の出力に応答させ るための、比較回路に接続された装置を含む装置。
- 36.請求項35記載の装置であって、水準変更装置が液体の水準を既定の水準 に戻すために比較回路からの信号の変化に応答するものである装置。
- 37.立体造形装置であって、 (a)相乗的エネルギに応答してその物理状態を変化させる液体媒質本体と、 (b)電磁線のビームを発生するための装置と、(c)電磁線ビーム発生装置か らの電磁線のビームを第1の光路に方向づけ、ビームの検出可能な一部が液体の 表面から第2の光路に沿って反射するように液体の表面に当てるための装置と、 (d)衝突してくる電磁線の位置の変化に応答して電気信号を変化させる検出器 と、 (e)液体の表面の水準に垂直な一定距離で、かつ、反射されたビームが検出器 と交差するように第2の光路に沿って検出器を取り付けるための装置とを含む装 置。
- 38.液体の表面の水準を測定するための方法であって、 (a)電磁線のビームを発生する段階と、(b)電磁線のビームを第1の光路に 沿って方向づけ、ビームの検出可能な一部が液体の表面から第2の光路に沿って 反射するように液体の表面に当てる段階と、(c)液体の水準の変化によって液 体の水準に垂直な一定距離で第2の光路の変位を検出する段階とを含む方法。
- 39.立体造形システムにおいて部品層の上に既定の厚さの重合性液体のほぼ平 滑な層を付与するための方法であって、 既定の厚さよりも大きい厚さだけ重合性液体本体の中に部品層を浸漬した後、部 品層を引き上げ、部品層の上に重合性液体の層を付与する段階と、 ドクターブレードを、ブレードと部品層との間に一定の隙間をもって、重合性液 体の層の上を一度以上移動させ、各移動時に余分な重合性液体を掻き取り、最後 の移動において、ブレードと部品層との間の隙間がほぼ既定の厚さに等しく、結 果的にほぼ平滑な層を形成する段階とを含む方法。
- 40.請求項39記載の方法であって、ドクターブレードと部品層との間の隙間 が掻取りごとに漸次小さくなる方法。
- 41.請求項40記載の方法であって、ドクターブレードの移動速度が掻取りご とに変更できる方法。
- 42.第1の部品層の上に既定の厚さを有する第2の部品層を形成するための立 体造形装置であって、第1の層を既定の厚さよりも大きい厚さだけほぼ一定の体 積の重合性液体中に浸漬するための装置と、重合性液体の層が第1の層の上にで きるように第1の層を引き上げるための装置と、 重合性液体の層が既定の厚さになるまで余分な液体を掻き取ることによって重合 性液体の層を平滑にするためのドクターブレードと、 平滑にされた重合性液体の層に相乗的エネルギを付与することによって第2の層 を形成するための装置とを含む装置。
- 43.請求項42記載の装置であって、水準を有する、ほぼ一定の体積の重合性 液体を入れるための槽と、 槽内の重合性液体の水準を検出し、検出された水準を既定の水準と比較するため の装置と、 水準検出装置に応答して、液体の水準がほぼ既定の水準になるまで槽の液体中を 上下するためのプランジャとを含む装置。
- 44.請求項43記載の装置であって、槽に連結された副槽であり、重合性液体 が槽と副槽間を流出入できるようになっており、副槽の液体の水準が槽の水準を 表し、水準検出装置が副槽の液体の水準を検出する2セル型検出器である副槽を 含む装置。
- 45.請求項43記載の装置であって、水準検出装置が、 槽の重合性液体に浮いているフロートと、フロートに連結された第1の端および 第2の端を有する棹であり、フロートの垂直変位が棹の第2の端の拡大された垂 直変位を生じるように、両端間の固定点について回転できるように連結された棹 と、 液体の水準が事実上既定の水準にないことを指示する既定の変位範囲の外に第2 の端があるかどうかを検出するための装置とを含む装置。
- 46.請求項42記載の方法であって、ドクターブレードが断面を有しており、 水平線と角度を作るブレードの移動方向のブレードの底面に非水平な縁をその断 面が有している装置。
- 47.請求項46記載の方法であって、水平線との角度が約5〜8°の範囲内に ある装置。
- 48.2端および底面ならびに質量を有するドクターブレードと、立体造形シス テムにおける重合性液体の表面との間の隙間を既定の値に設定するための方法で あって、 各針が事実上既定の値だけ底面の上に出ているように各端にブレードの底面に2 の伸縮自在の針を着脱できるように付属する段階と、 その端の針が液体の表面に触れるまで第1の非トルク誘導ねじ装置を調整するこ とによってブレードの一端を下げる段階と、 その端の外が液体の表面に触れるまで第2の非トルク誘導ねじ装置を調整するこ とによってブレードの一端を下げる段階と、 ブレードを引き上げてから下げ、両針がほぼ同時に液体の表面に接触するように 非トルク誘導ねじ装置の再調整を可能にする段階と、 ブレードの質量を著しく変更することなく、針を伸縮する段階とを含む方法。
- 49.請求項48記載の方法であって、非トルク誘導ねじ装置がマイクロメータ ねじであることを含む方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24939988A | 1988-09-26 | 1988-09-26 | |
US249,399 | 1988-09-26 | ||
US26503988A | 1988-10-31 | 1988-10-31 | |
US265,039 | 1988-10-31 |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37376999A Division JP3294833B2 (ja) | 1989-09-26 | 1999-12-28 | 立体造形方法及び装置 |
JP37376899A Division JP3419724B2 (ja) | 1988-10-31 | 1999-12-28 | 液面レベル測定装置および立体造形装置 |
JP2000000410A Division JP3373830B2 (ja) | 1988-09-26 | 2000-01-05 | 立体造形方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04503634A true JPH04503634A (ja) | 1992-07-02 |
JP3030855B2 JP3030855B2 (ja) | 2000-04-10 |
Family
ID=26940037
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1511123A Expired - Fee Related JP3030855B2 (ja) | 1988-09-26 | 1989-09-26 | 立体造形方法および装置 |
JP2000000410A Expired - Lifetime JP3373830B2 (ja) | 1988-09-26 | 2000-01-05 | 立体造形方法及び装置 |
JP2001069484A Expired - Lifetime JP3359026B2 (ja) | 1988-09-26 | 2001-03-12 | 立体造形方法及び装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000000410A Expired - Lifetime JP3373830B2 (ja) | 1988-09-26 | 2000-01-05 | 立体造形方法及び装置 |
JP2001069484A Expired - Lifetime JP3359026B2 (ja) | 1988-09-26 | 2001-03-12 | 立体造形方法及び装置 |
Country Status (11)
Country | Link |
---|---|
EP (3) | EP0681905B1 (ja) |
JP (3) | JP3030855B2 (ja) |
KR (1) | KR100189270B1 (ja) |
AT (3) | ATE130793T1 (ja) |
CA (1) | CA1337955C (ja) |
DE (3) | DE68929292T2 (ja) |
ES (1) | ES2082782T3 (ja) |
HK (3) | HK1002908A1 (ja) |
IL (1) | IL91784A (ja) |
SG (1) | SG49722A1 (ja) |
WO (1) | WO1990003255A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008110608A (ja) * | 1997-05-13 | 2008-05-15 | Three D Syst Inc | 立体造形法により形成される三次元物体の選択された薄層に関する表面特徴を特定する方法および装置 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5094935A (en) * | 1990-06-26 | 1992-03-10 | E. I. Dupont De Nemours And Company | Method and apparatus for fabricating three dimensional objects from photoformed precursor sheets |
DE59101958D1 (de) * | 1990-12-21 | 1994-07-21 | Eos Electro Optical Syst | Verfahren und vorrichtung zum herstellen eines dreidimensionalen objekts. |
DE4112695C3 (de) * | 1990-12-21 | 1998-07-23 | Eos Electro Optical Syst | Verfahren und Vorrichtung zum Herstellen eines dreidimensionalen Objekts |
US5460758A (en) * | 1990-12-21 | 1995-10-24 | Eos Gmbh Electro Optical Systems | Method and apparatus for production of a three-dimensional object |
US5474719A (en) * | 1991-02-14 | 1995-12-12 | E. I. Du Pont De Nemours And Company | Method for forming solid objects utilizing viscosity reducible compositions |
DE4134265C2 (de) * | 1991-10-16 | 1993-11-25 | Eos Electro Optical Syst | Vorrichtung und Verfahren zur Herstellung eines dreidimensionalen Objekts mittels Stereographie |
JP2805674B2 (ja) * | 1993-03-22 | 1998-09-30 | ソニー株式会社 | 光学的造形方法および光学的造形装置 |
FR2713541B1 (fr) * | 1993-12-09 | 1997-04-30 | Laser Int Sa | Procédé et installation pour la fabrication de pièces par phototransformation de matière. |
DE19514740C1 (de) * | 1995-04-21 | 1996-04-11 | Eos Electro Optical Syst | Vorrichtung und Verfahren zum Herstellen eines dreidimensionalen Objektes |
DE19515165C2 (de) * | 1995-04-25 | 1997-03-06 | Eos Electro Optical Syst | Vorrichtung zum Herstellen eines Objektes mittels Stereolithographie |
US5910319A (en) * | 1997-05-29 | 1999-06-08 | Eli Lilly And Company | Fluoxetine enteric pellets and methods for their preparation and use |
FR2790418B1 (fr) | 1999-03-01 | 2001-05-11 | Optoform Sarl Procedes De Prot | Procede de prototypage rapide permettant l'utilisation de materiaux pateux, et dispositif pour sa mise en oeuvre |
WO2002026419A1 (de) | 2000-09-25 | 2002-04-04 | Generis Gmbh | Verfahren zum herstellen eines bauteils in ablagerungstechnik |
DE10047614C2 (de) | 2000-09-26 | 2003-03-27 | Generis Gmbh | Vorrichtung zum schichtweisen Aufbau von Modellen |
DE10047615A1 (de) | 2000-09-26 | 2002-04-25 | Generis Gmbh | Wechselbehälter |
DE10117875C1 (de) | 2001-04-10 | 2003-01-30 | Generis Gmbh | Verfahren, Vorrichtung zum Auftragen von Fluiden sowie Verwendung einer solchen Vorrichtung |
DE10227673B4 (de) * | 2001-06-20 | 2007-04-05 | Hamacher, Renate | Füllstandsanzeige |
WO2003089218A1 (en) * | 2002-04-17 | 2003-10-30 | Stratasys, Inc. | Smoothing method for layered deposition modeling |
DE10222167A1 (de) | 2002-05-20 | 2003-12-04 | Generis Gmbh | Vorrichtung zum Zuführen von Fluiden |
US7807077B2 (en) | 2003-06-16 | 2010-10-05 | Voxeljet Technology Gmbh | Methods and systems for the manufacture of layered three-dimensional forms |
DE10327272A1 (de) | 2003-06-17 | 2005-03-03 | Generis Gmbh | Verfahren zum schichtweisen Aufbau von Modellen |
DE102004008168B4 (de) | 2004-02-19 | 2015-12-10 | Voxeljet Ag | Verfahren und Vorrichtung zum Auftragen von Fluiden und Verwendung der Vorrichtung |
DE102004025374A1 (de) | 2004-05-24 | 2006-02-09 | Technische Universität Berlin | Verfahren und Vorrichtung zum Herstellen eines dreidimensionalen Artikels |
JP4034758B2 (ja) * | 2004-06-04 | 2008-01-16 | 独立行政法人科学技術振興機構 | 光造形ファブリケーション法を利用した金属構造体の製造方法 |
US7690909B2 (en) * | 2005-09-30 | 2010-04-06 | 3D Systems, Inc. | Rapid prototyping and manufacturing system and method |
US7585450B2 (en) * | 2005-09-30 | 2009-09-08 | 3D Systems, Inc. | Rapid prototyping and manufacturing system and method |
DE102006030350A1 (de) | 2006-06-30 | 2008-01-03 | Voxeljet Technology Gmbh | Verfahren zum Aufbauen eines Schichtenkörpers |
DE102006038858A1 (de) | 2006-08-20 | 2008-02-21 | Voxeljet Technology Gmbh | Selbstaushärtendes Material und Verfahren zum schichtweisen Aufbau von Modellen |
DE102007033434A1 (de) | 2007-07-18 | 2009-01-22 | Voxeljet Technology Gmbh | Verfahren zum Herstellen dreidimensionaler Bauteile |
US10226919B2 (en) | 2007-07-18 | 2019-03-12 | Voxeljet Ag | Articles and structures prepared by three-dimensional printing method |
DE102007049058A1 (de) | 2007-10-11 | 2009-04-16 | Voxeljet Technology Gmbh | Materialsystem und Verfahren zum Verändern von Eigenschaften eines Kunststoffbauteils |
DE102007050679A1 (de) | 2007-10-21 | 2009-04-23 | Voxeljet Technology Gmbh | Verfahren und Vorrichtung zum Fördern von Partikelmaterial beim schichtweisen Aufbau von Modellen |
DE102007050953A1 (de) | 2007-10-23 | 2009-04-30 | Voxeljet Technology Gmbh | Vorrichtung zum schichtweisen Aufbau von Modellen |
DE102008058378A1 (de) | 2008-11-20 | 2010-05-27 | Voxeljet Technology Gmbh | Verfahren zum schichtweisen Aufbau von Kunststoffmodellen |
DE102010006939A1 (de) | 2010-02-04 | 2011-08-04 | Voxeljet Technology GmbH, 86167 | Vorrichtung zum Herstellen dreidimensionaler Modelle |
DE102010013733A1 (de) | 2010-03-31 | 2011-10-06 | Voxeljet Technology Gmbh | Vorrichtung zum Herstellen dreidimensionaler Modelle |
DE102010013732A1 (de) | 2010-03-31 | 2011-10-06 | Voxeljet Technology Gmbh | Vorrichtung zum Herstellen dreidimensionaler Modelle |
DE102010014969A1 (de) | 2010-04-14 | 2011-10-20 | Voxeljet Technology Gmbh | Vorrichtung zum Herstellen dreidimensionaler Modelle |
DE102010015451A1 (de) | 2010-04-17 | 2011-10-20 | Voxeljet Technology Gmbh | Verfahren und Vorrichtung zum Herstellen dreidimensionaler Objekte |
DE102010056346A1 (de) | 2010-12-29 | 2012-07-05 | Technische Universität München | Verfahren zum schichtweisen Aufbau von Modellen |
DE102011007957A1 (de) | 2011-01-05 | 2012-07-05 | Voxeljet Technology Gmbh | Vorrichtung und Verfahren zum Aufbauen eines Schichtenkörpers mit wenigstens einem das Baufeld begrenzenden und hinsichtlich seiner Lage einstellbaren Körper |
DE102011111498A1 (de) | 2011-08-31 | 2013-02-28 | Voxeljet Technology Gmbh | Vorrichtung zum schichtweisen Aufbau von Modellen |
DE102012004213A1 (de) | 2012-03-06 | 2013-09-12 | Voxeljet Technology Gmbh | Verfahren und Vorrichtung zum Herstellen dreidimensionaler Modelle |
DE102012010272A1 (de) | 2012-05-25 | 2013-11-28 | Voxeljet Technology Gmbh | Verfahren zum Herstellen dreidimensionaler Modelle mit speziellen Bauplattformen und Antriebssystemen |
DE102012012363A1 (de) | 2012-06-22 | 2013-12-24 | Voxeljet Technology Gmbh | Vorrichtung zum Aufbauen eines Schichtenkörpers mit entlang des Austragbehälters bewegbarem Vorrats- oder Befüllbehälter |
DE102012020000A1 (de) | 2012-10-12 | 2014-04-17 | Voxeljet Ag | 3D-Mehrstufenverfahren |
DE102013004940A1 (de) | 2012-10-15 | 2014-04-17 | Voxeljet Ag | Verfahren und Vorrichtung zum Herstellen von dreidimensionalen Modellen mit temperiertem Druckkopf |
DE102012022859A1 (de) | 2012-11-25 | 2014-05-28 | Voxeljet Ag | Aufbau eines 3D-Druckgerätes zur Herstellung von Bauteilen |
DE102013003303A1 (de) | 2013-02-28 | 2014-08-28 | FluidSolids AG | Verfahren zum Herstellen eines Formteils mit einer wasserlöslichen Gussform sowie Materialsystem zu deren Herstellung |
DE102013018182A1 (de) | 2013-10-30 | 2015-04-30 | Voxeljet Ag | Verfahren und Vorrichtung zum Herstellen von dreidimensionalen Modellen mit Bindersystem |
DE102013018031A1 (de) | 2013-12-02 | 2015-06-03 | Voxeljet Ag | Wechselbehälter mit verfahrbarer Seitenwand |
DE102013020491A1 (de) | 2013-12-11 | 2015-06-11 | Voxeljet Ag | 3D-Infiltrationsverfahren |
EP2886307A1 (de) | 2013-12-20 | 2015-06-24 | Voxeljet AG | Vorrichtung, Spezialpapier und Verfahren zum Herstellen von Formteilen |
DE102014004692A1 (de) | 2014-03-31 | 2015-10-15 | Voxeljet Ag | Verfahren und Vorrichtung für den 3D-Druck mit klimatisierter Verfahrensführung |
DE102014007584A1 (de) | 2014-05-26 | 2015-11-26 | Voxeljet Ag | 3D-Umkehrdruckverfahren und Vorrichtung |
KR102288589B1 (ko) | 2014-08-02 | 2021-08-12 | 복셀젯 아게 | 특히 냉간 주조 방법에 사용되는 방법 및 주조 몰드 |
NL2013861B1 (en) * | 2014-11-24 | 2016-10-11 | Additive Ind Bv | Apparatus for producing an object by means of additive manufacturing. |
DE102015006533A1 (de) | 2014-12-22 | 2016-06-23 | Voxeljet Ag | Verfahren und Vorrichtung zum Herstellen von 3D-Formteilen mit Schichtaufbautechnik |
DE102015102221A1 (de) * | 2015-02-17 | 2016-08-18 | Krones Ag | Verfahren zum Herstellen einer Vorrichtung zum Tragen von zu reinigenden Behältern, sowie Vorrichtung zum Tragen von zu reinigenden Behältern |
DE102015003372A1 (de) | 2015-03-17 | 2016-09-22 | Voxeljet Ag | Verfahren und Vorrichtung zum Herstellen von 3D-Formteilen mit Doppelrecoater |
DE102015006363A1 (de) | 2015-05-20 | 2016-12-15 | Voxeljet Ag | Phenolharzverfahren |
DE102015011503A1 (de) | 2015-09-09 | 2017-03-09 | Voxeljet Ag | Verfahren zum Auftragen von Fluiden |
DE102015011790A1 (de) | 2015-09-16 | 2017-03-16 | Voxeljet Ag | Vorrichtung und Verfahren zum Herstellen dreidimensionaler Formteile |
DE102015015353A1 (de) | 2015-12-01 | 2017-06-01 | Voxeljet Ag | Verfahren und Vorrichtung zur Herstellung von dreidimensionalen Bauteilen mittels Überschussmengensensor |
DE102016013610A1 (de) | 2016-11-15 | 2018-05-17 | Voxeljet Ag | Intregierte Druckkopfwartungsstation für das pulverbettbasierte 3D-Drucken |
WO2018140028A1 (en) * | 2017-01-27 | 2018-08-02 | Hewlett Packard Development Company, L.P. | Automatic spreader bar blade material positioning for additive manufacturing |
GB201704676D0 (en) | 2017-03-24 | 2017-05-10 | Rolls Royce Plc | Recoater for additive layer manufature |
DE102017006860A1 (de) | 2017-07-21 | 2019-01-24 | Voxeljet Ag | Verfahren und Vorrichtung zum Herstellen von 3D-Formteilen mit Spektrumswandler |
EP3683040A1 (en) * | 2017-07-21 | 2020-07-22 | CL Schutzrechtsverwaltungs GmbH | Optical determining device for an apparatus for additively manufacturing three-dimensional objects |
DE102018006473A1 (de) | 2018-08-16 | 2020-02-20 | Voxeljet Ag | Verfahren und Vorrichtung zum Herstellen von 3D-Formteilen durch Schichtaufbautechnik mittels Verschlussvorrichtung |
US11104075B2 (en) | 2018-11-01 | 2021-08-31 | Stratasys, Inc. | System for window separation in an additive manufacturing process |
EP3873722A4 (en) | 2018-11-01 | 2022-08-17 | Stratasys, Inc. | METHOD OF STRUCTURAL SEPARATION FROM A HARDENING INTERFACE IN AN ADDITIONAL MANUFACTURING PROCESS |
DE102019000796A1 (de) | 2019-02-05 | 2020-08-06 | Voxeljet Ag | Wechselbare Prozesseinheit |
DE102019007595A1 (de) | 2019-11-01 | 2021-05-06 | Voxeljet Ag | 3d-druckverfahren und damit hergestelltes formteil unter verwendung von ligninsulfat |
CN116499958B (zh) * | 2023-06-29 | 2023-09-01 | 德阳市产品质量监督检验所 | 一种材料腐蚀程度实时监测装置及监测方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2621808A (en) * | 1945-08-24 | 1952-12-16 | Frazier Simplex | Apparatus responsive to variations in liquid level |
US3272174A (en) * | 1965-09-07 | 1966-09-13 | Gen Motors Corp | Remote level indication |
US3953845A (en) * | 1975-02-04 | 1976-04-27 | Lawrence Peska Associates, Inc. | Oil level indicator |
US4247784A (en) * | 1978-12-18 | 1981-01-27 | Eastman Kodak Company | Measurement of material level in vessels |
IT1192344B (it) * | 1978-12-20 | 1988-03-31 | Ceda Spa | Misuratore di livello |
US4247508B1 (en) * | 1979-12-03 | 1996-10-01 | Dtm Corp | Molding process |
JPS56100316A (en) * | 1980-01-16 | 1981-08-12 | Hirakawa Denki Kk | Liquid level indicator for molten glass |
FR2482290A1 (fr) * | 1980-05-09 | 1981-11-13 | Poncet Pierre | Perfectionnements a la detection photoelectrique du niveau du bain dans les lingotieres de coulee continue |
US4508970A (en) * | 1982-07-15 | 1985-04-02 | Motorola, Inc. | Melt level sensing system and method |
JPS60147615A (ja) * | 1984-01-13 | 1985-08-03 | Hitachi Ltd | 液面測定方法 |
US4575330A (en) * | 1984-08-08 | 1986-03-11 | Uvp, Inc. | Apparatus for production of three-dimensional objects by stereolithography |
JPS61114818A (ja) * | 1984-11-09 | 1986-06-02 | Fujitsu Ltd | 立体形状形成装置 |
JPS6237109A (ja) * | 1985-08-10 | 1987-02-18 | Fujitsu Ltd | 立体形状形成装置 |
ES2063737T3 (es) * | 1986-06-03 | 1995-01-16 | Cubital Ltd | Aparato y metodo para modelizacion tridimensional. |
-
1989
- 1989-09-25 CA CA612990A patent/CA1337955C/en not_active Expired - Fee Related
- 1989-09-26 JP JP1511123A patent/JP3030855B2/ja not_active Expired - Fee Related
- 1989-09-26 ES ES89309762T patent/ES2082782T3/es not_active Expired - Lifetime
- 1989-09-26 IL IL91784A patent/IL91784A/xx not_active IP Right Cessation
- 1989-09-26 AT AT89309762T patent/ATE130793T1/de active
- 1989-09-26 DE DE68929292T patent/DE68929292T2/de not_active Expired - Lifetime
- 1989-09-26 AT AT95107869T patent/ATE211679T1/de active
- 1989-09-26 SG SG1996004356A patent/SG49722A1/en unknown
- 1989-09-26 DE DE68924952T patent/DE68924952T2/de not_active Expired - Lifetime
- 1989-09-26 KR KR1019900701102A patent/KR100189270B1/ko not_active IP Right Cessation
- 1989-09-26 EP EP95107870A patent/EP0681905B1/en not_active Expired - Lifetime
- 1989-09-26 EP EP95107869A patent/EP0681904B1/en not_active Expired - Lifetime
- 1989-09-26 WO PCT/US1989/004096 patent/WO1990003255A1/en active Application Filing
- 1989-09-26 AT AT95107870T patent/ATE200644T1/de not_active IP Right Cessation
- 1989-09-26 EP EP89309762A patent/EP0361847B1/en not_active Expired - Lifetime
- 1989-09-26 DE DE68929366T patent/DE68929366T2/de not_active Expired - Lifetime
-
1998
- 1998-01-22 HK HK98100602A patent/HK1002908A1/xx not_active IP Right Cessation
- 1998-03-12 HK HK98102087A patent/HK1004477A1/xx not_active IP Right Cessation
- 1998-08-31 HK HK98110328A patent/HK1009595A1/xx not_active IP Right Cessation
-
2000
- 2000-01-05 JP JP2000000410A patent/JP3373830B2/ja not_active Expired - Lifetime
-
2001
- 2001-03-12 JP JP2001069484A patent/JP3359026B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008110608A (ja) * | 1997-05-13 | 2008-05-15 | Three D Syst Inc | 立体造形法により形成される三次元物体の選択された薄層に関する表面特徴を特定する方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0361847A3 (en) | 1991-10-09 |
DE68929292T2 (de) | 2001-08-23 |
SG49722A1 (en) | 1998-06-15 |
JP2001287272A (ja) | 2001-10-16 |
KR100189270B1 (ko) | 1999-06-01 |
EP0361847B1 (en) | 1995-11-29 |
HK1004477A1 (en) | 1998-11-27 |
DE68929292D1 (de) | 2001-05-23 |
EP0681904B1 (en) | 2002-01-09 |
ATE200644T1 (de) | 2001-05-15 |
JP3359026B2 (ja) | 2002-12-24 |
DE68929366T2 (de) | 2002-09-26 |
EP0681904A2 (en) | 1995-11-15 |
EP0681905A1 (en) | 1995-11-15 |
JP3373830B2 (ja) | 2003-02-04 |
CA1337955C (en) | 1996-01-23 |
WO1990003255A1 (en) | 1990-04-05 |
ATE130793T1 (de) | 1995-12-15 |
JP2000141496A (ja) | 2000-05-23 |
ES2082782T3 (es) | 1996-04-01 |
EP0681904A3 (en) | 1996-02-07 |
IL91784A0 (en) | 1990-06-10 |
DE68924952D1 (de) | 1996-01-11 |
DE68924952T2 (de) | 1996-06-13 |
EP0361847A2 (en) | 1990-04-04 |
JP3030855B2 (ja) | 2000-04-10 |
IL91784A (en) | 1993-07-08 |
ATE211679T1 (de) | 2002-01-15 |
KR900701494A (ko) | 1990-12-03 |
DE68929366D1 (de) | 2002-02-14 |
HK1002908A1 (en) | 1998-09-25 |
EP0681905B1 (en) | 2001-04-18 |
HK1009595A1 (en) | 1999-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04503634A (ja) | 立体造形方法および装置 | |
US5258146A (en) | Method of and apparatus for measuring and controlling fluid level in stereolithography | |
US5174931A (en) | Method of and apparatus for making a three-dimensional product by stereolithography | |
EP1025982B1 (en) | Method and apparatus for stereolithographically forming three dimensional objects with reduced distortion | |
KR100257135B1 (ko) | 서포트를 포함하는 스테레오리스그래피를 이용한 3차원 물체 형성방법 및 장치 | |
CN109689342B (zh) | 固化可光聚合的扩散反射性材料的方法 | |
JP2008302607A (ja) | 三次元造形装置、および三次元造形方法 | |
US5496683A (en) | Method of and apparatus for optically shaping photo-setting resin | |
CN114072274A (zh) | 通过增材制造生产光学元件的方法和机器 | |
CN108437452A (zh) | 一种移动拼接式的上投影方式的3d成型系统 | |
JPH08338753A (ja) | 光硬化性液の液面高さ測定装置 | |
Wang et al. | Manufacture of 3-dimensional objects by reactive inkjet printing | |
JP2001287273A (ja) | 立体造形方法及び装置 | |
JP3392177B2 (ja) | 光硬化性樹脂の供給装置 | |
JP3641276B2 (ja) | 立体像形成方法 | |
CN206011731U (zh) | 一种高精度高速度连续3d打印机 | |
JP2023531229A (ja) | 光硬化型3dプリンタ及びプリンティング方法 | |
JP3419724B2 (ja) | 液面レベル測定装置および立体造形装置 | |
KR20190023014A (ko) | 광경화성 3d 프린터 및 제품 성형방법 | |
CN208035374U (zh) | 基于全反射原理提高成型效果的光固化成型设备 | |
KR102264538B1 (ko) | 3d 프린터의 출력물 정밀도 향상을 위한 출력 방법 | |
KR0178874B1 (ko) | 평탄화 기구를 사용하여 매질의 층을 형성하는 스테레오리토그라피에 의하여 3차원 물체를 형성하는 방법 및 장치 | |
CN114008619A (zh) | 用于输出用于生产光学元件的制造文件的方法和系统 | |
CN108454100B (zh) | 基于全反射原理提高成型效果的光固化成型设备 | |
JPH0224124A (ja) | 光学的造形法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |