home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-02-14 | 219.2 KB | 5,827 lines |
-
-
-
- - 5 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
-
- â½áóá 1
-
- éóÑñÑ¡¿Ñ
-
- ÇutoLISP - φΓ« ¼«ñ¿Σ¿¬áµ¿∩ ∩ºδ¬á »α«úαá¼¼¿α«óá¡¿∩ LISP,
- óßΓα«Ñ¡¡á∩ ó »á¬ÑΓ ADE-3 AutoCAD. AutoLISP »«ºó«½∩eΓ »«½∞º«óáΓѽ∩¼ ¿
- αáºαáí«Γτ¿¬á¼ AutoCADá »¿ßáΓ∞ ¼á¬α«»α«úαá¼¼δ ¿ Σπ¡¬µ¿¿ ¡á «τÑ¡∞
- ¼«Θ¡«¼ ∩ºδ¬Ñ óδß«¬«ú« πα«ó¡∩, ¬«Γ«αδ⌐ σ«α«Φ« ß«τÑΓáÑΓß∩ ß »α¿¬½áñ¡«⌐
- úαáΣ¿¬«⌐. LISP «τÑ¡∞ »α«ßΓ ó ¿ºπτÑ¡¿¿ ¿ «τÑ¡∞ ú¿í«¬.
-
- ================================================================
-
- ÄüÉÇÆêÆà éHêîÇHêà
-
- ä½∩ φΣΣÑ¬Γ¿ó¡«ú« »«½∞º«óá¡¿∩ AutoCAD«¼ ß«óßѼ ¡Ñ «í∩ºáΓѽ∞¡o
- πτ¿Γ∞ß∩ »«½∞º«óáΓ∞ß∩ AutoLISP«¼, Ñß½¿ π éáß ¡ÑΓ «»δΓá
- »α«úαá¼¼¿α«óá¡¿∩, éá¼ ñ«ßΓáΓ«τ¡« »α«τÑßΓ∞ ΓαÑí«óá¡¿∩ »«
- ¿¡ßΓá½∩µ¿¿ ó â½áóÑ 2. ¥Γ« »«½Ñº¡« º¡áΓ∞ ñ½∩ α∩ñá ñ¿ßµ¿»½¿¡
- AutoCADá, ¿ß»«½∞ºπεΦ¿σ AutoLISP. Äñ¡á¬«, Ñß½¿ éδ ½εí¿ΓÑ
- »α«úαá¼¼¿α«óáΓ∞, »α«τΓ¿ΓÑ óßÑ απ¬«ó«ñßΓó«, τΓ«íδ ¡áπτ¿Γ∞ß∩
- »«½∞º«óáΓ∞ß∩ AutoLISP«¼, τΓ« »αÑóαáΓ¿Γ «íΘ¿Ñ ó«º¼«ª¡«ßΓ¿
- AutoCADá ó ÑΘÑ í«½ÑÑ ¼«Θ¡δ⌐ úαáΣ¿τÑ߬¿⌐ ¿¡ßΓαπ¼Ñ¡Γ ½¿τ¡« ñ½∩
- éáß.
-
- ================================================================
-
- ¥Γ« απ¬«ó«ñßΓó«, á ¡Ñ πτÑí¡¿¬ »« »α«úαá¼¼¿α«óá¡¿ε ¡á LISPÑ,
- «ñ¡á¬« ¼δ »α¿ó«ñ¿¼ »α¿¼Ñα »αá¬Γ¿τÑ߬«ú« »α¿¼Ñ¡Ñ¡¿∩ AutoLISPá ó ú½áóÑ 3
- ¿ αѬ«¼Ñ¡ñπѼ »α«ß¼«ΓαÑΓ∞ αẽ¿τ¡δÑ ΓѬßΓδ ¡á LISPÑ ñ½∩ ¿ºπτÑ¡¿∩ φΓ«ú«
- ∩ºδ¬á »α«úαá¼¼¿α«óá¡¿∩. LISP - φΓ« ∩ºδ¬, ¿¼ÑεΘ¿⌐ ¼¡«ú« ñ¿á½Ñ¬Γ«ó,
- ó¬½ετá∩ îáßLISP, InterLISP, ZetaLISP, CommonLISP. AutoLISP - ¡á¿í«½ÑÑ
- í½¿º«¬ »« ß¿¡Γá¬ß¿ßπ ¿ ß«ú½áΦÑ¡¿∩¼ ¬ CommonLISPπ, ¡« ∩ó½∩ÑΓß∩
- ¡Ñí«½∞Φ«⌐ Ñú« τáßΓ∞ε ¿ ¿¼ÑÑΓ ¼¡«ú« ñ«»«½¡¿Γѽ∞¡δσ Σπ¡¬µ¿⌐, «ΓαáªáεΘ¿σ
- ߻ѵ¿Σ¿¬π AutoCADá. ¥Γ« απ¬«ó«ñßΓó« ó¬½ετáÑΓ óßÑ Σπ¡¬µ¿¿ AutoLISPá ¿
- ¿σ »α¿¼Ñ¡Ñ¡¿Ñ.
-
- 1.1 Æ¿»δ äá¡¡δσ ó AutoLISPÑ
-
- AutoLISP »«ññÑনóáÑΓ ¡Ñ߬«½∞¬« αẽ¿τ¡δσ Γ¿»«ó ñá¡¡δσ:
-
- * ᯨ᪨
- * ß¿¼ó«½δ
- * ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ
- * ñÑ⌐ßΓó¿Γѽ∞¡δÑ τ¿ß½á
- * µÑ½δÑ τ¿ß½á
- * Σá⌐½«óδ⌐ ñÑß¬α¿»Γ«α («»¿ßáΓѽ∞ Σá⌐½«ó)
- * "¿¼Ñ¡á" »α¿¼¿Γ¿ó«ó AutoCAD
- * ¡áí«αδ AutoCADá
- * óßΓα«Ñ¡¡δÑ Σπ¡¬µ¿¿ (ßπíα)
-
- ûѽδÑ 16-í¿Γ«óδÑ τ¿ß½á ó »αÑñѽáσ «Γ -32768 ñ« +32767.
- äÑ⌐ßΓó¿Γѽ∞¡δÑ τ¿ß½á »αÑñßΓáó½Ñ¡δ ¬á¬ τ¿ß½á ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐
- ñó«⌐¡«⌐ Γ«τ¡«ßΓ¿. æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ ¼«úπΓ íδΓ∞ ½εí«⌐ ñ½¿¡δ, »á¼∩Γ∞
- ñ½∩ ¡¿σ αáß»αÑñѽ∩ÑΓß∩ ñ¿¡á¼¿τÑ߬¿. Äñ¡á¬« ßπΘÑßΓóπÑΓ ¼á¬ß¿¼á½∞¡á∩
-
-
-
-
- - 6 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ñ½¿¡á ñ½∩ ßΓ᫬«óδσ ¬«¡ßΓá¡Γ, αáó¡á∩ 100 ß¿¼ó«½á¼.
-
- AutoLISP ß«ñÑαª¿Γ ¡Ñ߬«½∞¬« óßΓα«Ñ¡¡δσ Σπ¡¬µ¿⌐ ñ½∩ «íÑß»ÑτÑ¡¿∩
- «ß¡«ó »α«úαá¼¼¿α«óá¡¿∩ 2-σ ¼Ñα¡δσ ¿ 3-σ ¼Ñα¡δσ úαáΣ¿τÑ߬¿σ »α«úαá¼¼.
- K«úñá óδ ¿¼ÑÑΓÑ ñѽ« ß ¬««αñ¿¡áΓἿ, ß«í½εñáεΓß∩ ß½ÑñπεΘ¿Ñ ß«ú½áΦÑ¡¿∩:
-
- 2-σ ¼Ñα¡δÑ Γ«τ¬¿ óδαáªáεΓß∩ ó ó¿ñÑ ß»¿ß¬«ó ¿º ñóπσ ñÑ⌐ßΓó¿Γѽ∞¡δσ
- τ¿ßѽ (ò Y), ¬á¬:
-
- (3.400000 7.520000)
-
- ÅÑαó«Ñ º¡áτÑ¡¿Ñ - ¬««αñ¿¡áΓá ò, óΓ«α«Ñ - Y.
-
- 3-σ ¼Ñα¡δÑ Γ«τ¬¿ óδαáªáεΓß∩ ó ó¿ñÑ ß»¿ß¬«ó ¿º ΓαÑσ ñÑ⌐ßΓó¿Γѽ∞¡δσ
- τ¿ßѽ (X Y Z), ¬á¬:
-
- (3.400000 7.520000 1.000000)
-
- ÅÑαó«Ñ º¡áτÑ¡¿Ñ - ¬««αñ¿¡áΓá X, óΓ«α«Ñ - Y,
- ΓαÑΓ∞Ñ - Z.
-
- âñÑ íδ AutoCAD ¡Ñ ºá»αáΦ¿óá½ ¡Ñ¬¿⌐ óó«ñ (¡á»α¿¼Ñα, Γ«τ¬π ¿½¿
- ¼áßΦΓáí¡δ⌐ Σá¬Γ«α) ñ½∩ ñ«ßΓ¿ªÑ¡¿∩ ¡Ñ«íσ«ñ¿¼«ú« º¡áτÑ¡¿∩ ¼«úπΓ íδΓ∞
- ¿ß»«½∞º«óá¡δ óδαáªÑ¡¿∩ AutoLISPá φΓ«ú« Γ¿»á ¿½¿ Σπ¡¬µ¿¿ AutoLISPá,
- ó«ºóαáΘáεΘ¿Ñ αѺπ½∞ΓáΓ φΓ«ú« Γ¿»á.
-
- 1.2 éδτ¿ß½¿Γѽ∞ AutoLISPá
-
- æÑαñµÑ¼ ¬áªñ«ú« ¿¡ΓÑα»α¿ΓáΓ«αá LISPá ∩ó½∩ÑΓß∩ óδτ¿ß½¿Γѽ∞.
- éδτ¿ß½¿Γѽ∞ íÑαÑΓ ßΓ᫬π, óóÑñÑ¡¡πε »«½∞º«óáΓѽѼ, óδτ¿ß½∩ÑΓ ÑÑ, ¿
- ó«ºóαáΘáÑΓ ¡Ñ¬¿⌐ αѺπ½∞ΓáΓ. H¿ªÑ ß½ÑñπÑΓ »α«µÑßß óδτ¿ß½Ñ¡¿∩ ó
- AutoLISPÑ:
-
- * ûѽδÑ, ñÑ⌐ßΓó¿Γѽ∞¡δÑ, ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ, π¬áºáΓѽ¿ Σá⌐½«ó
- óδτ¿ß½∩εΓß∩ ó ßἿσ ßÑí∩.
- * 濼ó«½δ óδτ¿ß½∩εΓß∩ ó ßó«¿ ΓѬπΘ¿Ñ º¡áτÑ¡¿∩.
- * 滿߬¿ óδτ¿ß½∩εΓß∩ ó ºáó¿ß¿«ßΓ¿ «Γ »Ñαó«ú« φ½Ñ¼Ñ¡Γá ß»¿ß¬á.
- àß½¿ ß»¿ß«¬ óδτ¿ß½∩ÑΓß∩ ó :
- * ß»¿ß«¬ (¿½¿ nil), »αÑñ»«½áúáÑΓß∩, τΓ« ß»¿ß«¬ ∩ó½∩ÑΓß∩
- «»αÑñѽѡ¿Ñ¼ Σπ¡¬µ¿¿ ¿ Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓß∩, ¿ß»«½∞ºπ∩ «ßΓáóΦ¿Ñß∩
- φ½Ñ¼Ñ¡Γδ ß»¿ß¬á ¬á¬ áαúπ¼Ñ¡Γδ;
- * ¿¼∩ ó¡πΓαÑ¡¡Ñ⌐ Σπ¡¬µ¿¿ (ßπíα), Γ« «ßΓá½∞¡δÑ φ½Ñ¼Ñ¡Γδ ß»¿ß¬á
- »ÑαÑñáεΓß∩ ó ßπíα ¬á¬ Σ«α¼á½∞¡δÑ áαúπ¼Ñ¡Γδ ¿ óδτ¿ß½∩εΓß∩ ßπíα«¼.
-
- àß½¿ óδ óóѽ¿ óδαáªÑ¡¿Ñ AutoLISPá ó «ΓóÑΓ ¡á ºá»α«ß AutoCADá
- "Command:" /¬«¼á¡ñá:/, AutoLISP óδτ¿ß½¿Γ óδαáªÑ¡¿Ñ ¿ óδóÑñÑΓ αѺπ½∞ΓáΓ
- ¡á φ¬αá¡. çá»α«ß AutoCADá "Command:" »«óΓ«α¿Γß∩.
-
- àß½¿ ¡Ñ¬«ααÑ¬Γ¡«Ñ óδαáªÑ¡¿Ñ ¡áíαá¡« ß ¬½áó¿áΓπαδ ¿½¿ ßτ¿Γá¡« ¿º
- Σá⌐½á, AutoLISP ¼«ªÑΓ óδñáΓ∞ ß½ÑñπεΘπε »«ñ߬Ậπ:
-
- n>
-
- úñÑ n - µÑ½«Ñ τ¿ß½«, «Γ¼ÑτáεΘÑÑ ¬á¬ ¼¡«ú« πα«ó¡Ñ⌐ ½Ñóδσ ߬«í«¬
- «ßΓὫß∞ ¡Ñºá¬αδΓ묨. àß½¿ »«∩ó¿½áß∞ Γá¬á∩ »«ñ߬Ậá, Γ« τΓ«íδ óδ⌐Γ¿
- ¿º φΓ«ú« ß«ßΓ«∩¡¿∩ ¡Ñ«íσ«ñ¿¼« ¡áíαáΓ∞ n »αáóδσ ߬«í«¬. ùáßΓá∩ «Φ¿í¬á -
-
-
-
-
- - 7 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- »α«»π߬ ºá¬αδóáεΘ¿σß∩ ñó«⌐¡δσ ¬áóδτѬ (") ó ΓѬßΓ«ó«⌐ ßΓ᫬Ñ. é φΓ«¼
- ß½πτáÑ »αáóδÑ ß¬«í¬¿ ¿¡ΓÑα»αÑΓ¿απεΓß∩ ¬á¬ ¬áóδτ¬¿ ¿ ¡Ñ »α«¿ºó«ñ∩Γ
- ¡¿¬á¬«ú« φΣΣѬΓá ¡á ¿º¼Ñ¡Ñ¡¿Ñ n. ùΓ«íδ óδ⌐Γ¿ ¿º φΓ«ú« ß«ßΓ«∩¡¿∩
- ¡áíÑα¿ΓÑ ñó«⌐¡δÑ ¬áóδτ¬¿, á ºáΓѼ πªÑ ¿ »αáóδÑ ß¬«í¬¿.
-
- 1.3 æ«ú½áΦÑ¡¿∩ »« ïѬ߿¬Ñ.
-
- éó«ñ ó AutoLISP ¼«ªÑΓ »α¿¡¿¼áΓ∞ ¡Ñ߬«½∞¬« Σ«α¼. Ä¡ ¼«ªÑΓ
- «ßπΘÑßΓó½∩Γ∞ß∩ ß ¬½áó¿áΓπαδ ó ßÑá¡ßÑ AutoCADá, ßτ¿ΓδóáΓ∞ß∩ ¿º
- ASCII-Σá⌐½á ¿ ßτ¿ΓδóáΓ∞ß∩ ¿º ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ. é« óßÑσ ß½πτá∩σ
- ñ«½ª¡δ ß«í½εñáΓ∞ß∩ ß½ÑñπεΘ¿Ñ ß«ú½áΦÑ¡¿∩:
-
- * ê¼Ñ¡á ß¿¼ó«½«ó ¼«úπΓ ß«ßΓ«∩Γ∞ ¿º ½εí«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
- »ÑτáΓ¡δσ º¡á¬«ó, ¿ß¬½ετá∩ ß½ÑñπεΘ¿Ñ:
-
- ( ) . ' " ;
-
- * æ½ÑñπεΘ¿Ñ ß¿¼ó«½δ óδºδóáεΓ »αÑαδóá¡¿Ñ ¿¼Ñ¡¿ ß¿¼ó«½á ¿½¿
- τ¿ß½«ó«⌐ ¬«¡ßΓá¡Γδ:
-
- ( ) ' " ; (»α«íѽ) (¬«¡Ñµ Σá⌐½á)
-
- * éδαáªÑ¡¿∩ ¼«úπΓ ºá¡¿¼áΓ∞ ¡Ñ߬«½∞¬« ßΓ᫬.
- * HÑ߬«½∞¬« »α«íѽ«ó ¼Ñªñπ ß¿¼ó«½á¼¿ φ¬ó¿óá½Ñ¡Γ¡δ «ñ¡«¼π »α«íѽπ.
- ò«Γ∩ «ΓßΓπ»δ ó ßΓ᫬áσ ¿ ¡Ñ ΓαÑíπεΓß∩, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¿σ ñ½∩
- »«óδΦÑ¡¿∩ ¡áú½∩ñ¡«ßΓ¿ ßΓαπ¬Γπα¿α«óá¡¿∩ óáΦ¿σ Σπ¡¬µ¿⌐.
- * ê¼Ñ¡á ß¿¼ó«½«ó ¿ Σπ¡¬µ¿⌐ (ßπíα) ó AutoLISPÑ íѺαẽ¿τ¡δ ¬
- αÑú¿ßΓαπ, ¡á ¬«Γ«α«¼ «¡¿ ¡áíαá¡δ. ê¼Ñ¡á ß¿¼ó«½«ó ¡Ñ ¼«úπΓ ¡áτ¿¡áΓ∞ß∩ ß
- µ¿Σαδ.
- * ûѽδÑ ¬«¡ßΓá¡Γδ ¼«úπΓ ¡áτ¿¡áΓ∞ß∩ ß ¡Ñ«í∩ºáΓѽ∞¡δσ ß¿¼ó«½«ó "+"
- ¿½¿ "-". Kᬠí佫 ºá¼ÑτÑ¡« αá¡ÑÑ, «¡¿ ¡áσ«ñ∩Γß∩ ó »αÑñѽáσ «Γ -32768
- ñ« +32767.
- * äÑ⌐ßΓó¿Γѽ∞¡δÑ ¬«¡ßΓá¡Γδ ß«ßΓ«∩Γ ¿º «ñ¡«⌐ ¿½¿ í«½ÑÑ µ¿Σαδ, ºá
- ¬«Γ«α묨 ß½ÑñπÑΓ ñÑß∩Γ¿τ¡á∩ Γ«τ¬á, ºá ¬«Γ«α«⌐, ó ßó«ε «τÑαÑñ∞
- ß½ÑñπεΓ «ñ¡á ¿½¿ í«½ÑÑ µ¿Σα; Γ.«. "4" ¡Ñ ∩ó½∩ÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡δ¼,
- »αáó¿½∞¡δ¼ íπñÑΓ "0.4". Æ«τ¡« ΓᬠªÑ "5." ¡Ñ ∩ó½∩ÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡δ¼,
- »αáó¿½∞¡δ¼ íπñÑΓ "5.0". äÑ⌐ßΓó¿Γѽ∞¡δÑ τ¿ß½á ¼«úπΓ óδαáªáΓ∞ß∩ ó
- "¡áπτ¡«¼" »αÑñßΓáó½Ñ¡¿¿, Γ.Ñ. ¿¼ÑΓ∞ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ »áαá¼ÑΓα "Ñ" ¿½¿
- "à", ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ßΓѻѡ∞ τ¿ß½á 10.
- * üπ¬óÑ¡¡δÑ ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ - φΓ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ º¡á¬«ó,
- óº∩Γá∩ ó ¬áóδτ¬¿. é¡πΓα¿ óº∩Γδσ ó ¬áóδτ¬¿ ßΓ᫬«óδσ ¬«¡ßΓá¡Γ
- ¼«ª¡« óóÑßΓ¿ π»αáó½∩εΘ¿Ñ ß¿¼ó«½δ, »«½∞ºπ∩ß∞ º¡á¬«¼ «íαáΓ¡«⌐ τÑαΓδ (\).
- K«ñδ ß¿¼ó«½«ó Γᬫóδ:
-
- \\ «º¡áτáÑΓ º¡á¬ \
- \Ñ «º¡áτáÑΓ ß¿¼ó«½ escape-»«ß½Ññ«óáΓѽ∞¡«ßΓ¿
- \n «º¡áτáÑΓ ¡«óπε ßΓ᫬π (newline)
- \r «º¡áτáÑΓ ó«ºóαáΓ ¬áαÑΓ¬¿ (return)
- \t «º¡áτáÑΓ Γáíπ½∩µ¿ε (tab)
- \nnn «º¡áτáÑΓ º¡á¬, ó«ß∞¼Ñα¿τ¡δ⌐ ¬«ñ ¬«Γ«α«ú« nnn
-
- Há»α¿¼Ñα, ß½ÑñπεΘá∩ ºá»¿ß∞ óδó«ñ¿Γ »«ñ߬Ậπ ¡á ¡«óπε ßΓ᫬π:
-
- (prompt "\néóÑñ¿ΓÑ »Ñαóπε Γ«τ¬π: ")
-
- * ç¡á¬ ừßΓ«Σá ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡ ¬á¬ ¬«α«Γ¬á∩ ºá»¿ß∞
-
-
-
-
- - 8 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Σπ¡¬µ¿¿ QUOTE. Æá¬:
-
- 'foo
-
- φ¬ó¿óá½Ñ¡Γ¡«:
-
- (quote foo)
-
- * é AutoLISP-»α«úαá¼¼δ, óó«ñ¿¼δÑ ß ñ¿ß¬«ó«ú« Σá⌐½á, ¼«úπΓ íδΓ∞
- ó¬½ετÑ¡δ ¬«¼¼Ñ¡Γáα¿¿. K«¼¼Ñ¡Γáα¿¿ ¡áτ¿¡áεΓß∩ ß Γ«τ¬¿-c-ºá»∩Γ«⌐ ¿
- »α«ñ«½ªáεΓß∩ ñ« ¬«¡µá ßΓ᫬¿. Há»α¿¼Ñα:
-
- ; ¥Γ« ßΓ᫬á, ß«ßΓ«∩Θá∩ Γ«½∞¬« ¿º ¬«¼Ñ¡Γáα¿∩
-
- (setq area (* pi r r)) ; éδτ¿ß½Ñ¡¿Ñ »½«Θáñ¿ ¬απúá.
-
- 1.4 æ«ú½áΦÑ¡¿∩ »« Äí«º¡áτÑ¡¿∩¼
-
- ¥Γ« απ¬«ó«ñßΓó« »α¿¼Ñ¡∩ÑΓ ¡Ñ¬«Γ«αδÑ ß«ú½áΦÑ¡¿∩ ñ½∩ «»αÑñѽѡ¿∩
- ñÑ⌐ßΓó¿∩ Σπ¡¬µ¿⌐. Há»α¿¼Ñα:
-
- (moo <ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá> <τ¿ß½«>...)
-
- ê¼∩ Σπ¡¬µ¿¿ »«¬áºδóáÑΓ, ¬á¬ óδ ñ«½ª¡δ óóÑßΓ¿ Ñú«. çᬽετÑ¡¡δÑ ó
- πú½«óδÑ ß¬«í¬¿ º¡á¬¿, ß½ÑñπεΘ¿Ñ ºá ¿¼Ñ¡Ñ¼ Σπ¡¬µ¿¿ »«¬áºδóáεΓ τ¿ß½« ¿
- Γ¿» áαúπ¼Ñ¡Γ«ó, ΓαÑíπѼδσ Σπ¡¬µ¿Ñ⌐.
-
- é φΓ«¼ »α¿¼ÑαÑ Σπ¡¬µ¿∩ "moo" ¿¼ÑÑΓ ñóá ΓαÑíπѼδσ áαúπ¼Ñ¡Γá: ßΓ᫬«óπε
- ¬«¡ßΓá¡Γπ ¿ τ¿ß½«. î¡«ú«Γ«τ¿Ñ ("...") »«¬áºδóáÑΓ, τΓ« ¬ Σπ¡¬µ¿¿ ¼«úπΓ
- íδΓ∞ ñ«íáó½Ñ¡δ ñ«»«½¡¿Γѽ∞¡δÑ τ¿ß½«óδÑ áαúπ¼Ñ¡Γδ. HÑ ó¬½ετá⌐ΓÑ πú½«óδÑ
- ߬«í¬¿ ¿½¿ ¼¡«ú«Γ«τ¿Ñ, ¬«úñá óδ ¿ß»«½∞ºπÑΓÑ φΓπ Σπ¡¬µ¿ε.
-
- æ½ÑñπεΘ¿Ñ »α¿¼Ñαδ ∩ó½∩εΓß∩ »αáó¿½∞¡δ¼¿ »α¿ ¿ß»«½∞º«óá¡¿¿ Σπ¡¬µ¿¿
- "moo".
-
- (moo "Hello" 5)
- (moo "Hi" 1 2 3)
-
- æ½ÑñπεΘ¿Ñ »α¿¼Ñαδ ¡Ñ ß««ΓóÑΓßΓóπεΓ »αÑñ»¿ßá¡¡«¼π Σ«α¼áΓπ ¿
- »α¿ó«ñ∩Γ ¬ «Φ¿í¬á¼:
-
- (moo 1 2 3) (»Ñαóδ⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ ßΓ᫬«ó«⌐
- ¬«¡ßΓá¡Γ«⌐)
- (moo "Hello") (ñ«½ªÑ¡ íδΓ∞ σ«Γ∩ íδ «ñ¿¡ τ¿ß½«ó«⌐ áαúπ¼Ñ¡Γ)
- (moo "do" '(1 2)) (óΓ«α«⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ τ¿ß½«¼, á ¡Ñ
- ß»¿ß¬«¼).
-
- é Γ«¼ ß½πτáÑ, ¬«úñá ¼«ªÑΓ íδΓ∞ ñ«íáó½Ñ¡ «ñ¿¡ Σá¬π½∞ΓáΓ¿ó¡δ⌐
- áαúπ¼Ñ¡Γ, ¡« «¡ ¡Ñ ¼«ªÑΓ íδΓ∞ »«óΓ«αÑ¡, áαúπ¼Ñ¡Γ ºá¬½ετáÑΓß∩ ó
- ¬óáñαáΓ¡δÑ ß¬«í¬¿ ("[]"):
-
- (foo <ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá> [<τ¿ß½«>])
-
- é φΓ«¼ »α¿¼ÑαÑ Σπ¡¬µ¿∩ "foo" ΓαÑíπÑΓ «ñ¿¡ áαúπ¼Ñ¡Γ ó ó¿ñÑ
- ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ ¿ ñ«»π߬áÑΓ «ñ¿¡ Σá¬π½∞ΓáΓ¿ó¡δ⌐ τ¿ß½«ó«⌐ áαúπ¼Ñ¡Γ.
- æ½ÑñπεΘ¿Ñ »α¿¼Ñαδ ∩ó½∩εΓß∩ »αáó¿½∞¡δ¼¿ ó맮óἿ Σπ¡¬µ¿¿ "foo":
-
-
-
-
- - 9 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- (foo "catch")
- (foo "catch" 22)
-
- æ½ÑñπεΘ¿Ñ Σ«α¼áΓδ ¡Ñ ß««ΓóÑΓßΓóπεΓ »αÑñ»¿ßá¡¡«¼π Σ«α¼áΓπ ¿
- »α¿ó«ñ∩Γ ¬ «Φ¿í¬á¼:
-
- (foo 44 13) (»Ñαóδ⌐ áαúπ¼Ñ¡Γ ñ«½ªÑ¡ íδΓ∞ ßΓ᫬«ó«⌐
- ¬«¡ßΓá¡Γ«⌐)
- (foo "foo" 44 13) (ß½¿Φ¬«¼ ¼¡«ú« áαúπ¼Ñ¡Γ«ó)
-
- 1.5 Äíαáí«Γ¬á ÄΦ¿í«¬
-
- àß½¿ AutoLISP óßΓαÑτáÑΓ «Φ¿í¬π ó« óαѼ∩ óδτ¿ß½Ñ¡¿⌐, «¡ »ÑτáΓáÑΓ
- ß««íΘÑ¡¿Ñ ó ó¿ñÑ:
-
- error: ΓѬßΓ
-
- úñÑ ΓѬßΓ - φΓ« «»¿ßá¡¿Ñ «Φ¿í¬¿. àß½¿ Σπ¡¬µ¿∩ *ERROR* «»αÑñѽѡá (¡Ñ
- nil), AutoLISP óδ»«½¡∩ÑΓ φΓπ Σπ¡¬µ¿ε ("ΓѬßΓ" ßΓá¡«ó¿Γß∩ ÑÑ
- áαúπ¼Ñ¡Γ«¼) ó¼ÑßΓ« »ÑτáΓ¿ ß««íΘÑ¡¿∩. àß½¿ *ERROR* ¡Ñ «»αÑñÑ½Ñ¡á ¿½¿
- nil, óδτ¿ß½Ñ¡¿∩ AutoLISPá íπñÑΓ «ßΓá¡«ó½Ñ¡« ¿ íπñÑΓ óδñá¡á ¡á φ¬αá¡
- «íαáΓ¡á∩ Γαáßß¿α«ó¬á óδºδóδáѼ«⌐ Σπ¡¬µ¿¿, á Γá¬ªÑ óδºδóáεΘ¿σ ÑÑ
- Σπ¡¬µ¿⌐ 󻽫Γ∞ ñ« 100 πα«ó¡Ñ⌐ 󽫪ѡ¿∩.
-
-
- â½áóá 2
-
- ê¡ßΓá½∩µ¿∩ AutoLISPá
-
- 2.1 ÆαÑí«óá¡¿∩
-
- ¥Γá óÑαß¿∩ ∩ºδ¬á AutoLISP ΓαÑíπÑΓ ß½ÑñπεΘÑÑ «íÑß»ÑτÑ¡¿Ñ:
-
- 1. K«¼»∞εΓÑα, ß¡áíªÑ¡¡δ⌐ »á¬ÑΓ«¼ AutoCAD, ß ¼¿¡¿¼π¼«¼ 640K »á¼∩Γ¿
- ¿ ªÑßΓ¬¿¼ ñ¿ß¬«¼.
-
- 2. Åá¬ÑΓ AutoCAD óÑαß¿∩ 9 (¿½¿ í«½ÑÑ »«ºñ¡∩∩ ß αáßΦ¿αÑ¡¿Ñ¼ ADE-3).
-
- 2.2 ö«α¼áΓ
-
- AutoLISP »«ßΓáó½∩ÑΓß∩ ß ¬áªñ«⌐ ¬«»¿Ñ⌐ AutoCADá, ß¡áíªÑ¡¡«⌐ ADE-3.
- æ»Ñµ¿á½∞¡á∩ ¿¡ßΓá½∩µ¿∩ ¡Ñ ΓαÑíπÑΓß∩. öá⌐½ "acadl.ovl" ¡á ñ¿ß¬ÑΓÑ
- AutoCADá ∩ó½∩ÑΓß∩ «óÑα½Ñ⌐¡δ¼ Σá⌐½«¼ »α«úαá¼¼δ AutoLISP.
-
- Äñ¡á ¿º ñ¿ß¬ÑΓ »á¬ÑΓá AutoCAD ß«ñÑαª¿Γ Σá⌐½, ¡áºóá¡¡δ⌐ "readme.doc".
- ū߼«Γα¿ΓÑ φëà Σá⌐½, «¡ ß«ñÑαª¿Γ óßÑ »«ß½Ññ¡¿Ñ ¿º¼Ñ¡Ñ¡¿∩ ¿
- «í¡«ó½Ñ¡¿∩ ñ«¬π¼Ñ¡Γᵿ¿ AutoCADá ¿ AutoLISPá.
-
- 2.3 ÆαÑí«óá¡¿∩ ¬ Åá¼∩Γ¿
-
- é ß¿ßΓѼáσ PC-DOS/MS-DOS, «»αÑñѽѡ¡á∩ τáßΓ∞ »á¼∩Γ¿ ¬«¼»∞εΓÑαá
- ñ«½ª¡á íδΓ∞ πßΓá¡«ó½Ñ¡á ñ½∩ ¿ß»«½∞º«óá¡¿∩ AutoLISP«¼. àß½¿ óδ ¿ß»«½∞-
- ºπÑΓÑ ß»Ñµ¿á½¿º¿α«óá¡¡δ⌐ »á¬ÑΓ, Γᬫ⌐ ¬á¬ AutoCAD AEC, »α«ß¼«Γα¿ΓÑ
- Ñú« απ¬«ó«ñßΓó« ñ½∩ πßΓá¡«ó¬¿ αѬ«¼Ñ¡ñπѼδσ º¡áτÑ¡¿⌐ »ÑαѼѡ¡δσ ßαÑñδ
- LISPHEAP ¿ LISPSTACK. Å«ñα«í¡ÑÑ «í φΓ«¼ ß¼«Γα¿ΓÑ ú½áóπ 6 ¡áΦÑú«
- απ¬«ó«ñßΓóá.
-
-
-
-
-
- - 10 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 2.4 ÇóΓ«¼áΓ¿τÑ߬¿⌐ çáúαπºτ¿¬ öπ¡¬µ¿⌐ - Σá⌐½ "acad.lsp"
-
- éß∩¬¿⌐ αẠ»α¿ ¡áτá½Ñ ßÑá¡ßá τÑαΓѪ¡«ú« αÑñá¬Γ«αá AutoCADá, AutoLISP
- ºáúαπªáÑΓ Σá⌐½ "acad.lsp" (Ñß½¿ «¡ ßπΘÑßΓóπÑΓ). éδ ¼«ªÑΓÑ ó¡ÑßΓ¿
- «»αÑñѽѡ¿∩ ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπѼδσ Σπ¡¬µ¿⌐ ó φëà Σá⌐½ ¿ «¡¿ íπñπΓ
- óδ»«½¡∩Γ∞ß∩ áóΓ«¼áΓ¿τÑ߬¿ ¬áªñδ⌐ αáº, ¬«úñá óδ ¡áτ¿¡áÑΓÑ αÑñá¬Γ¿α«óáΓ∞
- α¿ßπ¡«¬. 漫Γα¿ΓÑ «»¿ßá¡¿Ñ Σπ¡¬µ¿⌐ DEFUN ó ú½áóÑ 4 ñ½∩ ñÑΓá½Ñ⌐.
-
-
- â½áóá 3
-
- Æα«»¿¡¬á ó AutoLISP
-
- Há¿í«½∞ΦÑÑ ñ«ßΓ«¿¡ßΓó« AutoCADá »α«∩ó½∩ÑΓß∩ ó 󫺼«ª¡«ßΓ¿
- ó¡ÑßÑ¡¿∩ ó ¡Ñú« ñ«íáó½Ñ¡¿⌐. Åα¿ »α«Ñ¬Γ¿α«óá¡¿¿ AutoCADá ¼δ »δΓ὿ß∞
- »αÑñ«ßΓáó¿Γ∞ ó α㪨 »«½∞º«óáΓѽÑ⌐ ¬á¬ ¼«ª¡« í«½∞ΦÑ Γᬿσ ßαÑñßΓó.
- àß½¿, ¿ß»«½∞ºπ∩ AutoCAD éδ ó ß«óÑαΦÑ¡ßΓóÑ «ó½áñѽ¿ ¿¼, π éáß ¼«ªÑΓ
- 󫺡¿¬¡πΓ∞ ªÑ½á¡¿Ñ ¿¼ÑΓ∞ ¡Ñ¬«Γ«αδÑ ñ«»«½¡¿Γѽ∞¡δÑ ó«º¼«ª¡«ßΓ¿, ó
- ¬«Γ«αδσ éδ τáßΓ« τπßΓóπÑΓÑ »«ΓαÑí¡«ßΓ∞. éδ ¼«ªÑΓÑ ¡áτáΓ∞ ß ñ«íáó½Ñ¡¿∩
- »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐ ¬«¼á¡ñ, ¬«Γ«αδÑ éδ ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπÑΓÑ ó
- φ¬αá¡¡«Ñ ¿ ¬¡«»«τ¡«Ñ ¼Ñ¡ε ¿½¿ ¼Ñ¡ε »½á¡ΦÑΓá. éδ ¼«ªÑΓÑ ß«ºñáóáΓ∞ ¡«óδÑ
- Γ¿»δ ½¿¡¿⌐ ¿ ΦΓα¿σ«ó¬¿ ¿½¿ úáα¡¿Γπαδ Φα¿ΣΓ«ó. äѽá∩ φΓ«, éδ
- »«½∞ºπÑΓÑß∞ »αÑ¿¼πΘÑßΓó«¼ "«Γ¬αδΓ«⌐ áασ¿ΓѬΓπαδ" AutoCADá -
- αáßΦ¿αÑ¡¿Ñ¼ ¿ Σ«α¼¿α«ó᡿Ѽ ÑÑ ó éáΦ¿ »Ñαß«¡á½∞¡δÑ ßαÑñßΓóá
- »α«Ñ¬Γ¿α«óá¡¿∩, «ΓóÑτáεΘ¿Ñ ¡á»αáó½Ñ¡¿∩¼ éáΦÑ⌐ αáí«Γδ ¿ «íαẫ¼ ¼δß½Ñ⌐.
-
- Há¿í«½ÑÑ ¼«Θ¡δ¼ ßαÑñßΓó«¼ αáßΦ¿αÑ¡¿∩ AutoCADá ∩ó½∩ÑΓß∩ ∩ºδ¬
- »α«úαá¼¼¿α«óá¡¿∩ AutoLISP. ¥Γ« ßαÑñßΓó« «íÑß»Ñτ¿óáÑΓß∩ óßѼ¿ óÑαß¿∩¼¿
- AutoCADá ß »á¬ÑΓ«¼ ADE-3 ºá ßτÑΓ »α¿¼Ñ¡Ñ¡¿∩ ∩ºδ¬á »α«úαá¼¼¿α«óá¡¿∩
- LISP, áñá»Γ¿α«óá¡¡«ú« »«ñ AutoCAD. Åα¿ ß«ßΓáó½Ñ¡¿∩ »α«úαá¼¼ ¡á
- AutoLISPÑ éδ ¼«ªÑΓÑ ñ«íáó½∩Γ∞ ¬«¼á¡ñδ ó AutoCAD, ¼«ñ¿Σ¿µ¿απ∩ Ñú« Γᬿ¼
- ªÑ «íαẫ¼, ¬á¬ φΓ« ñѽáεΓ »α«úαá¼¼¿ßΓδ ¡áΦÑ⌐ Σ¿α¼δ.
-
- üπ¬óá½∞¡« ºá ¡Ñ߬«½∞¬« ¼¿¡πΓ ¼δ ñ«íáó¿¼ ó AutoCAD ¡«óπε ¬«¼á¡ñπ.
- é »α«µÑßßÑ ¡á»¿ßá¡¿∩ »α«úαá¼¼δ ¼δ «íΩ∩ß¡¿¼ ¬á¬ αáí«ΓáÑΓ AutoLISP ¿
- ñáñ¿¼ éἠ󫺼«ª¡«ßΓ∞ »«τπßΓó«óáΓ∞, ¬á¬ ¿ß»«½∞º«óáΓ∞ Ñú« ßαÑñßΓóá ó
- ßó«¿σ µÑ½∩σ. K«¼á¡ñá, ¬«Γ«απε ¼δ íπñѼ ß«ßΓáó½∩Γ∞, «Γ¡«ß¿Γß∩ ¬ «í½áßΓ¿
- ½á¡ñΦáΣΓ¡«⌐ áασ¿ΓѬΓπαδ, «ñ¡á¬« º¡á¡¿∩, ¬«Γ«αδÑ éδ »α¿«íαÑΓÑΓÑ íπñπΓ
- ß««ΓóÑΓßΓó«óáΓ∞ ¿ º«¡Ñ éáΦÑ⌐ ñÑ∩Γѽ∞¡«ßΓ¿.
-
- 3.1 ä½∩ Háτá½á
-
- îδ »αÑñ»«½áúáѼ, τΓ« éδ ∩ó½∩ÑΓÑß∞ ñ«ßΓáτ¡« »«ñú«Γ«ó½Ñ¡¡δ¼
- »«½∞º«óáΓѽѼ AutoCADá, Γ.Ñ. º¡áÑΓÑ ¬«¼á¡ñδ ¿ «ß¡«ó¡δÑ »«¡∩Γ¿∩
- AutoCADá. îδ ΓᬠªÑ ¡áñÑѼß∩, τΓ« éδ π¼ÑÑΓÑ »«½∞º«óáΓ∞ß∩ ΓѬßΓ«óδ¼
- αÑñá¬Γ«α«¼, «íαáíáΓδóáεΘ¿¼ ASCII-Σá⌐½δ. H¿ªÑ ¼δ »α¿ó«ñ¿¼ »α«úαá¼¼π,
- ¡áñÑ∩ß∞, τΓ« éδ ó«ß»«½∞ºπÑΓÑß∞ ΓѬßΓ«óδ¼ αÑñá¬Γ«α«¼, óδ»«½¡∩∩ ¡áΦ¿
- »αÑñ½«ªÑ¡¿∩.
-
- é φΓ«¼ »α¿¼ÑαÑ ¼δ íπñѼ ¿ß»«½∞º«óáΓ∞ ¼¡«ªÑßΓó« Σπ¡¬µ¿⌐ AutoLISPá.
- æ½ÑñπεΘ¿Ñ ú½áóδ φΓ«ú« απ¬«ó«ñßΓóá ß«ñÑαªáΓ »«½¡«Ñ «»¿ßá¡¿Ñ óßÑσ φΓ¿σ
- Σπ¡¬µ¿⌐.
-
- 3.2 ûѽ∞
-
- HáΦÑ⌐ µÑ½∞ε ∩ó½∩ÑΓß∩ ß«ºñá¡¿Ñ ¡«ó«⌐ ¬«¼á¡ñδ AutoCADá, α¿ßπεΘÑ⌐
- »áᬫóπε ñ«α«ª¬π, ¼«ΘÑ¡¡πε ¬απú½«⌐ íÑΓ«¡¡«⌐ »½¿Γ¬«⌐. HáΦá ¡«óá∩
- ¬«¼á¡ñá íπñÑΓ ¿¼ÑΓ∞ ß½ÑñπεΘπε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »«ñ߬ẫ¬:
-
-
-
-
- - 11 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- Command: PATH
- Start point of path: start point
- End point of path: endpoint
- Half width of path: number
- Radius of tiles: number
- Spacing between tiles: number
-
- /K«¼á¡ñá: PATH
- Háτá½∞¡á∩ Γ«τ¬á ñ«α«ª¬¿: ¡áτá½∞¡á∩ Γ«τ¬á
- K«¡Ñτ¡á∩ Γ«τ¬á ñ«α«ª¬¿: ¬«¡Ñτ¡á∩ Γ«τ¬á
- Å«½πΦ¿α¿¡á ñ«α«ª¬¿: τ¿ß½«
- Éáñ¿πß »½¿Γ¬¿: τ¿ß½«
- ÉáßßΓ«∩¡¿Ñ ¼Ñªñπ »½¿Γ¬á¼¿: τ¿ß½«/
-
- úñÑ ¡áτá½∞¡á∩ ¿ ¬«¡Ñτ¡á∩ Γ«τ¬¿ «»αÑñѽ∩εΓ «ßÑóπε ½¿¡¿ε ñ«α«ª¬¿.
- çáñáÑΓß∩ »«½πΦ¿α¿¡á ñ«α«ª¬¿ ¿ óó«ñ¿Γß∩ αáñ¿πß ¬απú½«⌐ »½¿Γ¬¿. Hᬫ¡Ñµ,
- ºáñáÑΓß∩ αáßßΓ«∩¡¿Ñ ¼Ñªñπ »½¿Γ¬á¼¿. îδ ºáñáѼ »«½πΦ¿α¿¡π ñ«α«ª¬¿, á ¡Ñ
- óßε Φ¿α¿¡π, Γᬠ¬á¬ φΓ« ñáÑΓ ó«º¼«ª¡«ßΓ∞ «»αÑñѽ∩Γ∞ ÑÑ «Γ¡«ß¿Γѽ∞¡«
- ¡áτá½∞¡«⌐ Γ«τ¬¿, ¿ß»«½∞ºπ∩ "αѺ¿¡«óπε ½¿¡¿ε".
-
- 3.3 Háτ¡Ñ¼
-
- îδ íπñѼ αáºαáíáΓδóáΓ∞ φΓπ ºáñáτπ, ¬á¬ ¿ í«½∞Φ¿¡ßΓó« »«ñ«í¡δσ, «Γ
- τáßΓ¡«ú« ¬ «íΘѼπ. é φΓ«⌐ ºáñáτÑ ¼δ íπñѼ τáßΓ« ¿¼ÑΓ∞ ñѽ« ß πú½á¼¿. é
- AutoLISPÑ, ¬á¬ ¿ ó« ¼¡«ú¿σ ñαπú¿σ ∩ºδ¬áσ »α«úαá¼¼¿α«óá¡¿∩, πú½δ
- ¿º¼Ñα∩εΓß∩ ó αáñ¿á¡áσ. ôú½δ ¿º¼Ñα∩εΓß∩ ó αáñ¿á¡áσ «Γ 0 ñ« 2 * pi.
- ū߬«½∞¬π í«½∞Φ¿¡ßΓó« ½εñÑ⌐ «»Ñα¿απÑΓ πú½á¼¿ ó úαáñπßáσ, «»αÑñѽ¿¼
- Σπ¡¬µ¿ε, ¬«Γ«αá∩ »αÑ«íαáºπÑΓ úαáñπßδ ó αáñ¿á¡δ. êß»«½∞ºπ∩ éáΦ
- ΓѬßΓ«óδ⌐ αÑñá¬Γ«α, ß«ºñá⌐ΓÑ Σá⌐½ ß ¿¼Ñ¡Ñ¼ GP.LSP. éóÑñ¿ΓÑ ß½ÑñπεΘπε
- »α«úαá¼¼π:
-
- ; Convert angle in degrees to radians
-
- (defun dtr (a)
- (* pi (/ a 180.0))
- )
-
- äáóá⌐ΓÑ »«ß¼«Γα¿¼ τΓ« φΓ« «º¡áτáÑΓ. îδ «»αÑñѽ∩Ѽ Σπ¡¬µ¿ε,
- ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε AutoLISPá DEFUN. öπ¡¬µ¿∩ ¿¼ÑÑΓ ¿¼∩ DTR (ß«¬αáΘÑ¡¿Ñ
- «Γ "degrees to radians" - úαáñπßδ ó αáñ¿á¡δ). Ä¡á ¿¼ÑÑΓ «ñ¿¡ áαúπ¼Ñ¡Γ,
- "A", πú«½ ó úαáñπßáσ. àÑ αѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ óδαáªÑ¡¿Ñ:
-
- PI * (a / 180.0)
-
- «»αÑñѽѡ¡«Ñ ó ß¿ßΓÑ¼Ñ «í«º¡áτÑ¡¿⌐ LISPá, ¬«Γ«α«Ñ ¼«ª¡« »α«τ¿ΓáΓ∞ ¬á¬:
- "αѺπ½∞ΓáΓ »α«¿ºóÑñÑ¡¿∩ pi ¡á τáßΓ¡«Ñ «Γ ñѽѡ¿∩ A ¡á 180.0". AutoLISP
- «»αÑñѽ∩ÑΓ pi, ¬á¬ 3.14159.... æΓ᫬á, ¡áτ¿¡áεΘá∩ß∩ ß Γ«τ¬¿ ß ºá»∩Γ«⌐
- ∩ó½∩ÑΓß∩ ¬«¼Ñ¡Γáα¿Ñ¼ - AutoLISP ¿ú¡«α¿απÑΓ ½εí«⌐ ΓѬßΓ ó ßΓα«¬Ñ »«ß½Ñ
- Γ«τ¬¿ ß ºá»∩Γ«⌐.
-
- çá»¿Φ¿ΓÑ Σá⌐½ ¡á ñ¿ß¬, ºáΓѼ ó«⌐ñ¿ΓÑ ó ¡«óδ⌐ τÑαΓѪ AutoCADá (¿¼∩
- τÑαΓÑªá ¡Ñ ¿¼ÑÑΓ º¡áτÑ¡¿∩, »«ß¬«½∞¬π ¼δ ¡Ñ íπñѼ Ñú« ºá»¿ßδóáΓ∞). Åα¿
- »«∩ó½Ñ¡¿¿ »«ñ߬Ậ¿ AutoCADá "Command:", ó맮ó¿ΓÑ Σπ¡¬µ¿ε, ¡áíαáó:
-
- Command: (load "gp")
-
-
-
-
- - 12 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- AutoLISP ó맮óÑΓ éáΦπ Σπ¡¬µ¿ε, «Γ«íαếó ÑÑ ¿¼∩ "DTR". é ñá½∞¡Ñ⌐ΦѼ,
- ¬«úñá ¼δ íπñѼ ú«ó«α¿Γ∞: "ó«⌐ñ¿ΓÑ ó AutoCAD ¿ ó맮ó¿ΓÑ »α«úαá¼¼π", ¼δ
- íπñѼ ¿¼ÑΓ∞ ó óó¿ñπ Γ«½∞¬« τΓ« «»¿ßá¡¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñÑ⌐ßΓó¿⌐.
-
- ÆÑ»Ñα∞ ¼δ »α«óÑα¿¼ αáí«Γπ Σπ¡¬µ¿¿ ß αẽ¿τ¡δ¼¿ º¡áτÑ¡¿∩¼¿
- áαúπ¼Ñ¡Γá. Å« »α¿óÑñÑ¡¡«¼π óδΦÑ «»αÑñѽѡ¿ε αáñ¿á¡, 0 úαáñπß«ó αáóÑ¡ 0
- αáñ¿á¡, ¿ΓᬠóóÑñѼ ßΓ᫬π:
-
- Command: (dtr 0)
-
- æΓ᫬á, ¡áτ¿¡áεΘá∩ß∩ ß ½Ñó«⌐ ߬«í¬¿ «º¡áτáÑΓ ó AutoCADÑ, τΓ« φΓ«
- óδαáªÑ¡¿Ñ AutoLISPá ¿ »ÑαÑñáÑΓß∩ ó "óδτ¿ß½¿Γѽ∞" AutoLISPá. Æá¬¿¼
- «íαẫ¼ ¼δ óδτ¿ß½∩Ѽ «»αÑñѽѡ¡πε ¡á¼¿ Σπ¡¬µ¿ε DTR ß áαúπ¼Ñ¡Γ«¼,
- αáó¡δ¼ ¡π½ε. Å«ß½Ñ óδτ¿ß½Ñ¡¿∩ Σπ¡¬µ¿¿, AutoCAD ¡á»ÑτáΓáÑΓ αѺπ½∞ΓáΓ,
- Γ.Ñ. óóÑñÑ¡¡«⌐ ¿¡Σ«α¼áµ¿¿ ß««ΓóÑΓßΓóπÑΓ ß½ÑñπεΘ¿⌐ «ΓóÑΓ:
-
- 0.000000
-
- ÆÑ»Ñα∞ ¿ß»δΓáѼ 180 úαáñπß«ó. àß½¿ éδ óóÑñÑΓÑ:
-
- Command: (dtr 180)
-
- éδ πó¿ñ¿ΓÑ αѺπ½∞ΓáΓ:
-
- 3.141593
-
- ¥Γ« «º¡áτáÑΓ, τΓ« 180 úαáñπß«ó ß««ΓóÑΓßΓóπÑΓ pi αáñ¿á¡. Åα«óÑα¿ó
- Σπ¡¬µ¿ε, éδ πíÑñ¿ΓÑß∞, τΓ« óßÑ αáí«ΓáÑΓ ¿¼Ñ¡¡« Γá¬, ¬á¬ ¼δ ¿
- «»αÑñѽ¿½¿.
-
- éδ⌐ñѼ ¿º AutoCADá, óóÑñ∩:
-
- Command: QUIT
- Really want to discard all changes to drawing? Y
-
- /K«¼á¡ñá: QUIT
- äÑ⌐ßΓó¿Γѽ∞¡« σ«Γ¿ΓÑ «Γ¬áºáΓ∞ß∩ «Γ óßÑσ ¿º¼Ñ¡Ñ¡¿⌐ ó α¿ßπ¡¬Ñ? Y/
-
- ¿ ¡áíαáó:
-
- 0
-
- ó ú½áó¡«¼ ¼Ñ¡ε, ñ½∩ ó«ºóαáΘÑ¡¿∩ ó DOS. é ñá½∞¡Ñ⌐ΦѼ, ¬«úñá ¼δ íπñѼ
- ú«ó«α¿Γ∞: "óδ⌐Γ¿ ¿º AutoCADá", ¼δ íπñѼ »«ñαáºπ¼ÑóáΓ∞ φΓπ »α«µÑñπαπ.
-
- 3.4 Äαúá¡¿ºπѼ éó«ñ äá¡¡δσ
-
- HáΦá ¬«¼á¡ñá »áᬫó«⌐ ñ«α«ª¬¿ íπñÑΓ ß»αáΦ¿óáΓ∞ π »«½∞º«óáΓѽ∩ úñÑ
- ¡áα¿ß«óáΓ∞ ñ«α«ª¬π, ¬á¬«⌐ Φ¿α¿¡δ ÑÑ ßñѽáΓ∞, αáñ¿πß íÑΓ«¡¡δσ »½¿Γ«¬ ¿
- αáßßΓ«∩¡¿Ñ ¼Ñªñπ ¡¿¼¿. îδ «»αÑñѽ¿¼ Σπ¡¬µ¿ε, ¬«Γ«αá∩ íπñÑΓ ß»αáΦ¿óáΓ∞
- »«½∞º«óáΓѽ∩ «í« óßÑσ φΓ¿σ φ½Ñ¼Ñ¡Γáσ ¿ óδτ¿ß½∩Γ∞ α∩ñ τ¿ßѽ, ¬«Γ«αδÑ
- íπñπΓ ¿ß»«½∞º«óáΓ∞ß∩ ¡áΦÑ⌐ ¬«¼á¡ñ«⌐ ó ñá½∞¡Ñ⌐ΦѼ.
-
- êß»«½∞ºπ∩ ΓѬßΓ«óδ⌐ αÑñá¬Γ«α, ñ«íáó∞ΓÑ ß½ÑñπεΘ¿Ñ ßΓ᫬¿ ó GP.LSP
- (ñ½∩ «í«º¡áτÑ¡¿∩ ñ«íáó½Ñ¡¡δσ ßΓ᫬ ¼δ íπñѼ ¿ß»«½∞º«óáΓ∞ óÑαΓ¿¬á½∞¡πε
-
-
-
-
- - 13 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- τÑαΓπ).
-
- ; Convert angle in degrees to radians
-
- (defun dtr (a)
- (* pi (/ a 180.0))
- )
-
- | ; Acquire information for garden path
- |
- | (defun gpuser ()
- | (setq sp (getpoint "\nStart point of path: "))
- | (setq ep (getpoint "\nEnd point of path: "))
- | (setq hwidth (getdist "\nHalf width of path: " sp))
- | (setq trad (getdist "\nRadius of tiles: " sp))
- | (setq tspac (getdist "\nSpacing between tiles: " sp))
- |
- | (setq pangle (angle sp ep))
- | (setq plength (distance sp ep))
- | (setq width (* 2 hwidth))
- | (setq angp90 (+ pangle (dtr 90))) ;Path angle + 90 deg
- | (setq angm90 (- pangle (dtr 90))) ;Path angle - 90 deg
- | )
-
- HÑ«í∩ºáΓѽ∞¡« ñѽáΓ∞ «ΓßΓπ»δ ó ßΓ᫬áσ óδαáªÑ¡¿⌐, óσ«ñ∩Θ¿σ ó éáΦ¿
- Σπ¡¬µ¿¿. Há ßἫ¼ ñѽÑ, »« ªÑ½á¡¿ε, éδ ¼«ªÑΓÑ ¡á»¿ßáΓ∞ óßε »α«úαá¼¼π ó
- «ñ¡π ßΓ᫬π. Äñ¡á¬« «ΓßΓπ»δ ó ßΓ᫬áσ ¿ »πßΓδÑ ßΓ᫬¿ ñѽáεΓ ßΓαπ¬Γπαπ
- »α«úαá¼¼δ »«¡∩Γ¡Ñ⌐ ¿ í«½ÑÑ τ¿Γáíѽ∞¡Ñ⌐. Æá¬ ªÑ óδαáó¡¿óá¡¿Ñ ¡áτá½∞¡δσ
- ¿ ¬«¡Ñτ¡δσ ߬«í«¬ «ß¡«ó¡δσ óδαáªÑ¡¿⌐ »«¼«úáεΓ πíÑñ¿Γ∞ß∩ ó íá½á¡ßÑ
- éáΦ¿σ ߬«í«¬.
-
- çñÑß∞ ¼δ «»αÑñѽ¿½¿ Σπ¡¬µ¿ε, ¡áºóá¡¡πε GPUSER. Ä¡á ¡Ñ ¿¼ÑÑΓ
- áαúπ¼Ñ¡Γ«ó, á ß»αáΦ¿óáÑΓ »«½∞º«óáΓѽ∩ óßÑ ΓαÑíπѼδÑ φ½Ñ¼Ñ¡Γδ. öπ¡¬µ¿∩
- SETQ »α¿ßóá¿óáÑΓ »ÑαѼѡ¡δ¼ AutoLISPá «»αÑñѽѡ¡δÑ º¡áτÑ¡¿∩. ÅÑαóá∩
- SETQ »α¿ßóá¿óáÑΓ »ÑαѼѡ¡«⌐ SP (start point /¡áτá½∞¡á∩ Γ«τ¬á/)
- αѺπ½∞ΓáΓ, ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ GETPOINT. öπ¡¬µ¿∩ GETPOINT
- ºá»αáΦ¿óáÑΓ π »«½∞º«óáΓѽ∩ Γ«τ¬π. ä½∩ «αúá¡¿ºáµ¿¿ ºá»α«ßá Γ«τ¬¿ íπñÑΓ
- π»«ΓαÑí½∩Γ∞ß∩ ßΓ᫬á ß¿¼ó«½«ó, «»αÑñѽ∩εΘá∩ »«ñ߬Ậπ AutoCADá. ä½∩
- óδó«ñá »«ñ߬Ậ¿ ¡á ¡«óπε ßΓ᫬π π»«ΓαÑí½∩ÑΓß∩ π»αáó½∩εΘ¿⌐ ß¿¼ó«½
- "\n". îδ ¿ß»«½∞ºπѼ Σπ¡¬µ¿ε GETDIST ñ½∩ ºá»α«ßá »«½πΦ¿α¿¡δ ñ«α«ª¬¿,
- αáñ¿πßá »½¿Γ¬¿ ¿ αáßßΓ«∩¡¿∩ ¼Ñªñπ »½¿Γ¬á¼¿. éΓ«α«⌐ áαúπ¼Ñ¡Γ Σπ¡¬µ¿¿,
- SP, «»αÑñѽ∩ÑΓ "íẫóπε" Γ«τ¬π ñ½∩ óδτ¿ß½Ñ¡¿∩ αáßßΓ«∩¡¿∩. àß½¿ íπñÑΓ
- ºáñá¡á Γ«τ¬á ó AutoCADÑ, Γ« αáßßΓ«∩¡¿Ñ íπñÑΓ óº∩Γ« «Γ φΓ«⌐ Γ«τ¬¿ ñ«
- "íẫó«⌐" - ¡áτá½∞¡«⌐ Γ«τ¬¿ ñ«α«ª¬¿, ¿ »α«Γ∩¡ÑΓ "αѺ¿¡«óπε ½¿¡¿ε" «Γ
- "íẫó«⌐" Γ«τ¬¿ ¬ π¬áºá¡¡«⌐.
-
- Å«ß½Ñ ºá»αoßá «Γ »«½∞º«óáΓѽ∩ óó«ñ¡δσ ñá¡¡δσ, óδτ¿ß½∩ÑΓß∩
- ¡Ñ߬«½∞¬«, τáßΓ« ¿ß»«½∞ºπεΘ¿σß∩ ó ñá½∞¡Ñ⌐ΦѼ »ÑαѼѡ¡δσ. PANGLE
- »α¿ßóá¿óáÑΓß∩ πú«½, «»αÑñѽ∩Ѽδ⌐ ¡áτá½∞¡«⌐ ¿ ¬«¡Ñτ¡«⌐ Γ«τ¬á¼¿ ñ«α«ª¬¿.
- öπ¡¬µ¿∩ ANGLE ó«ºóαáΘáÑΓ πú«½, ºáñáóáѼδ⌐ ñóπ¼∩ Γ«τ¬á¼¿. PLENGTH
- »α¿ßóá¿óáÑΓß∩ ñ½¿¡á ñ«α«ª¬¿. öπ¡¬µ¿∩ DISTANCE óδτ¿ß½∩ÑΓ αáßßΓ«∩¡¿Ñ
- ¼Ñªñπ ñóπ¼∩ Γ«τ¬á¼¿. ä½∩ »«½πτÑ¡¿∩ Φ¿α¿¡δ ñ«α«ª¬¿, ¼δ πñóá¿óáѼ
- «»αÑñѽѡ¡πε αá¡ÑÑ »«½πΦ¿α¿¡π. Hᬫ¡Ñµ, ¼δ óδτ¿ß½∩Ѽ ßπ¼¼π ¿ αạ«ßΓ∞
- πú½á ß »α∩¼δ¼ πú½«¼ ¿ »α¿ßóá¿óáѼ »«½πτÑ¡¡«Ñ º¡áτÑ¡¿Ñ ANGP90 ¿ ANGM90
- ß««ΓóÑΓßΓóÑ¡¡« (Γ.¬. πú½δ ó AutoLISPÑ «»αÑñѽѡδ ó αáñ¿á¡áσ, ¼δ ñ«½ª¡δ
- π»«ΓαÑí¿Γ∞ Σπ¡¬µ¿ε DTR ñ½∩ »ÑαÑó«ñá úαáñπßδ ó αáñ¿á¡δ »ÑαÑñ
-
-
-
-
- - 14 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- óδτ¿ß½Ñ¡¿Ñ¼).
-
- 欫»¿απ⌐ΓÑ ¡«óπε »α«úαá¼¼π ¡á ñ¿ß¬ ó«⌐ñ¿ΓÑ ó AutoCAD ¿ ó맮ó¿ΓÑ
- »α«úαá¼¼π. ÆÑ»Ñα∞ ¼δ »α«óÑα¿¼ Σπ¡¬µ¿ε óó«ñá ñá¡¡δσ ¿ πíÑñ¿¼ß∩, τΓ« «¡á
- αáí«ΓáÑΓ. é맮ó¿ΓÑ Σπ¡¬µ¿ε, ¡áíαáó:
-
- Command: (gpuser)
- /K«¼á¡ñá: (gpuser)/
-
- éóÑñ¿ΓÑ ¡á ºá»α«ßδ ß½ÑñπεΘÑÑ:
-
- Start point of path: 2,2
- End point of path: 9,8
- Half width of path: 2
- Radius of tiles: .2
- Spacing between tiles: .1
-
- /Háτá½∞¡á∩ Γ«τ¬á ñ«α«ª¬¿: 2,2
- K«¡Ñτ¡á∩ Γ«τ¬á ñ«α«ª¬¿: 9,8
- Å«½πΦ¿α¿¡á ñ«α«ª¬¿: 2
- Éáñ¿πß »½¿Γ¬¿: .2
- ÉáßßΓ«∩¡¿Ñ ¼Ñªñπ »½¿Γ¬á¼¿: .1/
-
- öπ¡¬µ¿∩ GPUSER ó«ß»«½∞ºπÑΓß∩ éáΦ¿¼¿ «ΓóÑΓἿ ñ½∩ óδτ¿ß½Ñ¡¿∩
- ¡Ñ«íσ«ñ¿¼δσ Ñ⌐ ñ«»«½¡¿Γѽ∞¡δσ »ÑαѼѡ¡δσ ¿ óδßóÑΓ¿Γ ¡á φ¬αá¡Ñ ñ¿ß»½Ñ∩
- αѺπ½∞ΓáΓ »«ß½Ññ¡Ñú« óδτ¿ß½Ñ¡¿∩ (ó ñá¡¡«¼ ß½πτáÑ -0.862169 - º¡áτÑ¡¿Ñ
- ANGM90 ó αáñ¿á¡áσ). éδ ¼«ªÑΓÑ ¿ºó½Ñτ∞ óßÑ »ÑαѼѡ¡δÑ, πßΓá¡«ó½Ñ¡¡δÑ
- Σπ¡¬µ¿Ñ⌐ GPUSER, ¡áíαáó óß½Ññ ºá ó«ß¬½¿µáΓѽ∞¡δ¼ º¡á¬«¼ (!) ¿σ ¿¼Ñ¡á.
- é φΓ«¼ ß½πτáÑ AutoCAD óδτ¿ß½¿Γ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ ¿ ¡á»ÑτáΓáÑΓ
- αѺπ½∞ΓáΓ. àß½¿ éδ óóÑñÑΓÑ ß½ÑñπεΘ¿Ñ ¬«¼á¡ñδ, éδ »«½πτ¿ΓÑ αѺπ½∞ΓáΓδ,
- »«¬áºá¡¡δÑ ¡¿ªÑ:
-
- Command: !sp
- (2.000000 2.000000)
- Command: !ep
- (9.000000 8.000000)
- Command: !hwidth
- 2.000000
- Command: !width
- 4.000000
- Command: !trad
- 0.200000
- Command: !tspac
- 0.100000
- Command: !pangle
- 0.708626
- Command: !plength
- 9.219544
- Command: !angp90
- 2.279423
- Command: !angm90
- -0.862169
-
- çá¼ÑΓ¿¼, τΓ« PANGLE, ANGP90 ¿ ANGM90 óδαáªÑ¡δ ó αáñ¿á¡áσ. ū߽Ñ
- »α«óÑન »«¬¿¡∞ΓÑ AutoCAD ¿ ó맮ó¿ΓÑ ó éáΦ ΓѬßΓ«óδ⌐ αÑñá¬Γ«α Σá⌐½
- GP.LSP.
-
-
-
-
- - 15 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- 3.5 æ«α¿Ñ¡Γ¿απѼ ä«α«ª¬π
-
- ÆÑ»Ñα∞, ¬«úñá ¼δ ºá»α«ß¿½¿ π »«½∞º«óáΓѽ∩ ¼ÑßΓ«»«½«ªÑ¡¿Ñ ñ«α«ª¬¿,
- ¼δ ¼«ªÑ¼ ¡áα¿ß«óáΓ∞ ÑÑ ¬«¡Γπα. ä«íáó∞ΓÑ «Γ¼ÑτÑ¡¡δÑ ßΓ᫬¿ ó éáΦ Σá⌐½
- GP.LSP.
-
- ; Convert angle in degrees to radians
-
- (defun dtr (a)
- (* pi (/ a 180.0))
- )
-
- ; Acquire information for garden path
-
- (defun gpuser ()
- (setq sp (getpoint "\nStart point of path: "))
- (setq ep (getpoint "\nEnd point of path: "))
- (setq hwidth (getdist "\nHalf width of path: " sp))
- (setq trad (getdist "\nRadius of tiles: " sp))
- (setq tspac (getdist "\nSpacing between tiles: " sp))
-
- (setq pangle (angle sp ep))
- (setq plength (distance sp ep))
- (setq width (* 2 hwidth))
- (setq angp90 (+ pangle (dtr 90))) ;Path angle + 90 deg
- (setq angm90 (- pangle (dtr 90))) ;Path angle - 90 deg
- )
-
- | ; Draw outline of path
- |
- | (defun drawout ()
- | (command "pline"
- | (setq p (polar sp angm90 hwidth))
- | (setq p (polar p pangle plength))
- | (setq p (polar p angp90 width))
- | (polar p (+ pangle (dtr 180)) plength)
- | "close"
- | )
- | )
-
- é ñ«íáó½Ñ¡«¼ ΓѬßΓÑ «»αÑñѽѡá Σπ¡¬µ¿∩ ß ¿¼Ñ¡Ñ¼ DRAWOUT. ¥Γá
- Σπ¡¬µ¿∩ ¿ß»«½∞ºπÑΓ ¡áτá½∞¡πε Γ«τ¬π, πú«½ ¿ ñ½¿¡π ñ«α«ª¬¿, »ÑαÑñáóáѼδÑ
- ¿º Σπ¡¬µ¿¿ GPUSER, ¿ α¿ßπÑΓ ¬«¡Γπα ñ«α«ª¬¿. K«¡Γπα α¿ßπÑΓß∩
- »«½¿½¿¡¿Ñ⌐. öπ¡¬µ¿∩ DRAWOUT ¿ß»«½∞ºπÑΓ Σπ¡πµ¿ε COMMAND ñ½∩ »ÑαÑñáτ¿
- ¬«¼á¡ñ ¿ ñá¡¡δσ ó AutoCAD. öπ¡¬µ¿∩ COMMAND ∩ó½∩ÑΓß∩ ¼Ñσá¡¿º¼«¼, ß
- »«¼«Θ∞ε ¬«Γ«α«ú« Σπ¡¬µ¿¿ AutoLISPá »ÑαÑñáεΓ ¬«¼á¡ñδ ñ½∩ óδ»«½¡Ñ¡¿∩ ó
- AutoCAD. öπ¡¬µ¿∩ COMMAND íÑαÑΓ ¡Ñ¬«Γ«α«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó ¿ ¬áªñδ⌐ ¿º
- ¡¿σ »ÑαÑñáÑΓ ó AutoCAD. Æá¬¿¼ «íαẫ¼ ¼δ ºáñ὿ ¬«¼á¡ñπ "pline" ñ½∩
- AutoCADá, ñ½∩ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ "Å«½¿½¿¡¿∩". äá½ÑÑ ¼δ ºáñ὿ τÑΓδαÑ
- πú½á ñ«α«ª¬¿. Káªñδ⌐ πú«½ íδ½ óδτ¿ß½Ñ¡ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ POLAR ¿
- ºá»¿ßá¡ ó« óαѼѡ¡πε »ÑαѼѡ¡πε P. öπ¡¬µ¿∩ POLAR ΓαÑíπÑΓ ó ¬áτÑßΓóÑ
- ßó«Ñú« »Ñαó«ú« áαúπ¼Ñ¡Γá Γ«τ¬π; πú«½ ¿ αáßßΓ«∩¡¿Ñ ó ¬áτÑßΓóÑ óΓ«α«ú« ¿
- ΓαÑΓ∞Ñú«. öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Γ«τ¬π, αáß»«½«ªÑ¡¡πε ¡á ºáñá¡¡«¼
- αááßΓ«∩¡¿¿ ¿ »«ñ ºáñá¡¡δ¼ πú½«¼ «Γ »Ñαó«¡áτá½∞¡«⌐ Γ«τ¬¿. Æá¬¿¼ «íαẫ¼
- ¼δ óδτ¿ß½¿½¿ τÑΓδαÑ Γ«τ¬¿ ¡á úαá¡¿µáσ ñ«α«ª¬¿, ¿ß»«½∞ºπ∩ ó ¬áτÑßΓóÑ
-
-
-
-
- - 16 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ¿ßσ«ñ¡«ú« ñá¡¡«ú« ¡áτá½∞¡πε Γ«τ¬π ñ«α«ª¬¿. îδ ºáóÑαΦ¿½¿ ¬«¼á¡ñπ PLINE
- ßΓ᫬«⌐ "close". é αѺπ½∞ΓáΓÑ íπñπΓ ¡áα¿ß«óá¡δ τÑΓδαÑ ßΓ«α«¡δ ñ«α«ª¬¿,
- »«ß½Ñ τÑú« »«∩ó¿Γ∞ß∩ ¬«¼á¡ñ¡á∩ »«ñ߬Ậá AutoCADá.
-
- ä½∩ »α«óÑન αáí«Γδ Σπ¡¬µ¿¿, ºá»¿Φ¿ΓÑ «í¡«ó½Ñ¡¡δ⌐ Σá⌐½ GP.LSP ¡á
- ñ¿ß¬, ó«⌐ñ¿ΓÑ ó AutoCAD, ¡áτ¡¿ΓÑ ¡«óδ⌐ α¿ßπ¡«¬ ¿ ºáúαπº¿ΓÑ LISP-Σá⌐½
- ΓᬠªÑ, ¬á¬ éδ ñѽ὿ φΓ« αá¡∞ΦÑ. é맮ó¿ΓÑ Σπ¡¬µ¿ε óó«ñá ñá¡¡δσ:
-
- Command: (gpuser)
-
- ¿ φáñá⌐ΓÑ »ÑαѼѡ¡δ¼ ΓÑ ªÑ º¡áτÑ¡¿∩, τΓ« ¿ αá¡∞ΦÑ. ÆÑ»Ñα∞ »α«óÑα¿¼
- ß«ºñá¡¡πε Σπ¡¬µ¿ε DRAWOUT, óδºóáó ÑÑ:
-
- Command: (drawout)
-
- éδ πó¿ñ¿ΓÑ, τΓ« éáΦá Σπ¡¬µ¿∩ «íαáΘáÑΓß∩ ¬ ¬«¼á¡ñá¼ AutoCADá, τΓ«íδ
- «Γα¿ß«óáΓ∞ ¬«¡Γπα ñ«α«ª¬¿, ¬«Γ«αδ⌐ »«∩ó½∩ÑΓß∩ ¡á φ¬αá¡Ñ. ū߽Ñ
- »α«óÑન »«¬¿¡∞ΓÑ AutoCAD.
-
- 3.6 É¿ßπѼ Ž¿Γ¬¿
-
- ÆÑ»Ñα∞, »«ß½Ñ Γ«ú«, ¬á¬ ¼δ ߬«¡ßΓαπ¿α«ó὿ ¿ »α«óÑα¿½¿ Σπ¡¬µ¿¿
- óó«ñá ñá¡¡δσ ¿ «Γα¿ß«ó¬¿ ¬«¡Γπαá, óßÑ ú«Γ«ó« ñ½∩ ºá»«½¡Ñ¡¿∩ ñ«α«ª¬¿
- ¬απú½δ¼¿ »½¿Γ¬á¼¿. ä½∩ φΓ«ú« óß»«¼¡¿¼ úÑ«¼ÑΓα¿ε. é맮ó¿ΓÑ éáΦ
- ΓѬßΓ«óδ⌐ αÑñá¬Γ«α ¿ ñ«íáó∞ΓÑ «Γ¼ÑτÑ¡¡δÑ ßΓ᫬¿ ó »α«úαá¼¼π:
-
- ; Convert angle in degrees to radians
-
- (defun dtr (a)
- (* pi (/ a 180.0))
- )
-
- ; Acquire information for garden path
-
- (defun gpuser ()
- (setq sp (getpoint "\nStart point of path: "))
- (setq ep (getpoint "\nEnd point of path: "))
- (setq hwidth (getdist "\nHalf width of path: " sp))
- (setq trad (getdist "\nRadius of tiles: " sp))
- (setq tspac (getdist "\nSpacing between tiles: " sp))
-
- (setq pangle (angle sp ep))
- (setq plength (distance sp ep))
- (setq width (* 2 hwidth))
- (setq angp90 (+ pangle (dtr 90))) ;Path angle + 90 deg
- (setq angm90 (- pangle (dtr 90))) ;Path angle - 90 deg
- )
-
- ; Draw outline of path
-
- (defun drawout ()
- (command "pline"
- (setq p (polar sp angm90 hwidth))
- (setq p (polar p pangle plength))
- (setq p (polar p angp90 width))
- (polar p (+ pangle (dtr 180)) plength)
-
-
-
-
- - 17 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- "close"
- )
- )
-
- | ; Place one row of tiles given distance along path
- | ; and possibly offset it
- |
- | (defun drow (pd offset)
- | (setq pfirst (polar sp pangle pd))
- | (setq pctile (polar pfirst angp90 offset))
- | (setq p1tile pctile)
- | (while (< (distance pfirst p1tile) (- hwidth trad))
- | (command "circle" p1tile trad)
- | (setq p1tile (polar p1tile angp90 (+ tspac trad trad)))
- | )
- | (setq p1tile (polar pctile angm90 (+ tspac trad trad)))
- | (while (< (distance pfirst p1tile) (- hwidth trad))
- | (command "circle" p1tile trad)
- | (setq p1tile (polar p1tile angm90 (+ tspac trad trad)))
- | )
- | )
- |
- | ; Draw the rows of tiles
- |
- | (defun drawtiles ()
- | (setq pdist (+ trad tspac))
- | (setq off 0.0)
- | (while (<= pdist (- plength trad))
- | (drow pdist off)
- | (setq pdist (+ pdist (* (+ tspac trad trad) (sin (dtr
- 60)))))
- | (if (= off 0.0)
- | (setq off (* (+ tspac trad trad) (cos (dtr 60))))
- | (setq off 0.0)
- | )
- | )
- | )
-
- ä½∩ ½πτΦÑú« »«¡¿¼á¡¿∩ αáí«Γδ φΓ«⌐ Σπ¡¬µ¿¿, «íαáΓ¿¼ß∩ ¬ α¿ßπ¡¬π ¡á
- ß½ÑñπεΘÑ⌐ ßΓαá¡¿µÑ. öπ¡¬µ¿∩ DROW α¿ßπÑΓ α∩ñ »½¿Γ«¬ ¡á αáßßΓ«∩¡¿¿ ñαπú
- «Γ ñαπúá óñ«½∞ ñ«α«ª¬¿, ºáñáóáÑ¼δ¼ »Ñαóδ¼ áαúπ¼Ñ¡Γ«¼ Σπ¡¬µ¿¿, ¿
- ßñó¿úáÑΓ φëà α∩ñ »Ñα»Ñ¡ñ¿¬π½∩α¡« ñ«α«ª¬Ñ ¡á αáßßΓ«∩¡¿Ñ, ºáñáóáѼ«Ñ
- óΓ«αδ¼ áαúπ¼Ñ¡¡Γ«¼ Σπ¡¬µ¿¿. îδ íπñѼ ßñó¿úáΓ∞ »½¿Γ¬¿, τÑαÑñπ∩ ¿σ α∩ñδ,
- ñ½∩ í«½ÑÑ »½«Γ¡«ú« ºá»«½¡Ñ¡¿∩ ñ«α«ª¬¿ »½¿Γ¬á¼¿.
-
- öπ¡¬µ¿∩ DROW «»αÑñѽ∩ÑΓ ¼ÑßΓ« αáß»«½«ªÑ¡¿∩ ó α∩ñπ »Ñαó«⌐ »½¿Γ¬¿,
- ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε POLAR ñ½∩ «ΓßΓπ»á «Γ ¬αá∩ ñ«α«ª¬¿ ¡á αáßßΓ«∩¡¿Ñ,
- ¬«Γ«α«Ñ ºáñáÑΓß∩ »Ñαóδ¼ áαúπ¼Ñ¡Γ«¼; ºáΓѼ Σπ¡¬µ¿∩ POLAR ¿ß»«½∞ºπÑΓß∩
- ß¡«óá, ¡áσ«ñ∩ αáßßΓ«∩¡¿Ñ, »Ñα»Ñ¡ñ¿¬π½∩α¡«Ñ ñ«α«ª¬Ñ, ñ½∩ »«ß½ÑñπεΘÑ⌐
- ßñ󿪬¿ α∩ñ«ó. æ »«¼«Θ∞ε Σπ¡¬µ¿¿ WHILE »α«ñ«½ªáÑΓß∩ «Γα¿ß«ó¬á
- «¬απª¡«ßΓÑ⌐, »«¬á ¡Ñ íπñÑΓ ñ«ßΓ¿ú¡πΓá úαá¡¿µá ñ«α«ª¬¿. öπ¡¬µ¿∩ SETQ,
- ¬«Γ«α«⌐ ºáóÑαΦáÑΓß∩ WHILE-µ¿¬½ óδτ¿ß½∩ÑΓ ¼ÑßΓ« αáß»«½«ªÑ¡¿∩ ß½ÑñπεΘÑ⌐
- »½¿Γ¬¿, ßñó¿úá∩ ÑÑ ¡á αáßßΓ«∩¡¿Ñ, αáó¡«Ñ ñóπ¼ αáñ¿πßá¼ »½¿Γ¬¿ »½εß
- »α«ßΓαá¡ßΓó« ¼Ñªñπ »½¿Γ¬á¼¿.
-
- Å«ß½Ñ φΓ«ú«, ß »«¼«Θ∞ε óΓ«α«ú« WHILE-µ¿¬½á, α¿ßπÑΓß∩ α∩ñ »½¿Γ«¬ ó
-
-
-
-
- - 18 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ñαπú«¼ ¡á»αáó½Ñ¡¿¿, »«¬á ¡Ñ íπñÑΓ ñ«ßΓ¿ú¡πΓá ß½ÑñπεΘá∩ úαá¡¿µá
- ñ«α«ª¬¿.
-
- öπ¡¬µ¿∩ DRAWTILES ¼¡«ú«¬αáΓ¡« óδºδóáÑΓ Σπ¡¬µ¿ε DROW, ñ½∩
- «Γα¿ß«ó¬¿ óßÑσ α∩ñ«ó »½¿Γ«¬. çñÑß∞ WHILE-µ¿¬½ "ΦáúáÑΓ" »« ñ«α«ª¬Ñ,
- «íαáΘá∩ß∞ ¬ Σπ¡¬µ¿¿ DROW ñ½∩ «Γα¿ß«ó¬¿ ¬áªñ«ú« α∩ñá. æ¼Ñª¡δÑ »½¿Γ¬¿
- αáß»«½«ªÑ¡δ ó ó¿ñÑ »αáó¿½∞¡«ú« ΓαÑπú«½∞¡¿¬á, ¬á¬ »«¬áºá¡« ¡á α¿ßπ¡¬Ñ.
- æΓ«α«¡á ΓαÑπú«½∞¡¿¬á αáó¡á ñóπ¼ αáñ¿πßá¼ »½¿Γ¬¿ »½εß αáßßΓ«∩¡¿Ñ ¼Ñªñπ
- ¡¿¼¿. Æá¬¿¼ «íαẫ¼, ¬á¬ ß½ÑñπÑΓ ¿º Γα¿ú«¡«¼ÑΓα¿¿, αáßßΓ«∩¡¿Ñ óñ«½∞
- ñ«α«ª¬¿ ¼Ñªñπ α∩ñἿ αáó¡« ß¿¡πßπ 60 úαáñπß«ó, π¼¡«ªÑ¡¡«¼π ¡á φΓπ
- óѽ¿τ¿¡π, á ß¼ÑΘÑ¡¿Ñ ¡ÑτÑΓ¡δσ α∩ñ«ó - ¬«ß¿¡πßπ 60 úαáñπß«ó,
- π¼¡«ªÑ¡¡«¼π ¡á ¡ÑÑ.
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á Γ«, ¬á¬ ¿ß»«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ IF ó Σπ¡¬µ¿¿
- DRAWTILES ñ½∩ ß¼ÑΘÑ¡¿∩ ¬áªñ«ú« ß½ÑñπεΘÑú« α∩ñá. öπ¡¬µ¿∩ IF ΓÑßΓ¿απÑΓ
- ßó«⌐ »Ñαóδ⌐ áαúπ¼Ñ¡Γ ¿, Ñß½¿ º¡áτÑ¡¿Ñ¼ Ñú« ∩ó½∩ÑΓß∩ "¿ßΓ¿¡á" -
- óδ»«½¡∩ÑΓ óΓ«α«⌐ áαúπ¼Ñ¡Γ, ¿¡áτÑ - óδ»«½¡∩ÑΓ ΓαÑΓ¿⌐ áαúπ¼Ñ¡Γ. Æá¬¿¼
- «íαẫ¼, Ñß½¿ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ OFF αáó¡« ¡π½ε, ¼δ »α¿ßóá¿óáѼ Ñ⌐
- º¡áτÑ¡¿Ñ, αáó¡«Ñ »α«¿ºóÑñÑ¡¿ε αáßßΓ«∩¡¿∩ ¼Ñªñπ µÑ¡ΓαἿ »½¿Γ«¬ ¡á
- ¬«ß¿¡πß 60 úαáñπß«ó. àß½¿ ªÑ º¡áτÑ¡¿Ñ OFF ¡Ñ αáó¡« ¡π½ε, ¼δ
- »α¿ßóá¿óáѼ Ñ⌐ º¡áτÑ¡¿Ñ, αáó¡«Ñ ¡π½ε. Æá¬ «αúá¡¿ºπÑΓß∩ τÑαÑñ«óá¡¿Ñ
- α∩ñ«ó, τΓ« ¿ ΓαÑí«óὫß∞.
-
- ä½∩ »α«óÑન αáí«Γδ Σπ¡¬µ¿¿, ºá»¿Φ¿ΓÑ «í¡«ó½Ñ¡¡δ⌐ Σá⌐½ GP.LSP ¡á
- ñ¿ß¬, ó«⌐ñ¿ΓÑ ó AutoCAD, ¡áτ¡¿ΓÑ ¡«óδ⌐ α¿ßπ¡«¬ ¿ ºáúαπº¿ΓÑ LISP-Σá⌐½
- ΓᬠªÑ, ¬á¬ éδ ñѽ὿ φΓ« αá¡∞ΦÑ. éóÑñ¿ΓÑ:
-
- Command: (gpuser)
-
- ¿ ß««íΘ¿ΓÑ ¿¡Σ«α¼áµ¿ε « ñ«α«ª¬Ñ, ¬á¬ »αѪñÑ. éóÑñ¿ΓÑ:
-
- Command: (drawout)
-
- ¿ »«∩ó¿Γß∩ ¬«¡Γπα ñ«α«ª¬¿. Hᬫ¡Ñµ, óóÑñ¿ΓÑ:
-
- Command: (drawtiles)
-
- ¿ ¬«¡Γπα ºá»«½¡¿Γ∞ß∩ »½¿Γ¬á¼¿.
-
- 3.7 ä«íáó¿¼ H«óπε K«¼á¡ñπ é AutoCAD
-
- ÆÑ»Ñα∞ ¼δ ú«Γ«óδ ß«íαáΓ∞ ¿º ¡áΦ¿σ ¬πß«τ¬«ó ¬«¼á¡ñπ AutoCADá. àß½¿
- ¼δ «»αÑñѽ¿¼ Σπ¡¬µ¿ε ó AutoLISPÑ »«ñ ¿¼Ñ¡Ñ¼ C:XXXX, Γ« ¡áíαáó XXXX
- (ñ«»πßΓ¿¼, τΓ« XXXX ¡Ñ ¬«¼á¡ñá AutoCADá), ¼δ óδºδóáѼ φΓπ Σπ¡¬µ¿ε.
- ùΓ«íδ ºáóÑαΦ¿Γ∞ «Σ«α¼½Ñ¡¿Ñ ¡áΦÑ⌐ ¬«¼á¡ñδ PATH, «»αÑñѽ¿¼ Σπ¡¬µ¿ε
- C:PATH. ¥Γ« »«ºó«½¿Γ ¡á¼ »α«ßΓ« ¡áíαáΓ∞ ¡á ¬½áó¿áΓπαÑ PATH ó ½εí«Ñ
- óαѼ∩ »«ß½Ñ ºáúαπº¬¿ GP.LSP, τΓ«íδ óδ»«½¡¿Γ∞ ¬«¼á¡ñπ, α¿ßπεΘπε
- »áᬫóπε ñ«α«ª¬π.
-
- é맮ó¿ΓÑ éáΦ ΓѬßΓ«óδ⌐ αÑñá¬Γ«α ¿ ñ«íáó∞ΓÑ «Γ¼ÑτÑ¡¡δÑ ßΓ᫬¿ ó
- »α«úαá¼¼π:
-
- ; Convert angle in degrees to radians
-
- (defun dtr (a)
- (* pi (/ a 180.0))
-
-
-
-
- - 19 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- )
-
- ; Acquire information for garden path
-
- (defun gpuser ()
- (setq sp (getpoint "\nStart point of path: "))
- (setq ep (getpoint "\nEnd point of path: "))
- (setq hwidth (getdist "\nHalf width of path: " sp))
- (setq trad (getdist "\nRadius of tiles: " sp))
- (setq tspac (getdist "\nSpacing between tiles: " sp))
-
- (setq pangle (angle sp ep))
- (setq plength (distance sp ep))
- (setq width (* 2 hwidth))
- (setq angp90 (+ pangle (dtr 90))) ;Path angle + 90 deg
- (setq angm90 (- pangle (dtr 90))) ;Path angle - 90 deg
- )
-
- ; Draw outline of path
-
- (defun drawout ()
- (command "pline"
- (setq p (polar sp angm90 hwidth))
- (setq p (polar p pangle plength))
- (setq p (polar p angp90 width))
- (polar p (+ pangle (dtr 180)) plength)
- "close"
- )
- )
-
- ; Place one row of tiles given distance along path
- ; and possibly offset it
-
- (defun drow (pd offset)
- (setq pfirst (polar sp pangle pd))
- (setq pctile (polar pfirst angp90 offset))
- (setq p1tile pctile)
- (while (< (distance pfirst p1tile) (- hwidth trad))
- (command "circle" p1tile trad)
- (setq p1tile (polar p1tile angp90 (+ tspac trad trad)))
- )
- (setq p1tile (polar pctile angm90 (+ tspac trad trad)))
- (while (< (distance pfirst p1tile) (- hwidth trad))
- (command "circle" p1tile trad)
- (setq p1tile (polar p1tile angm90 (+ tspac trad trad)))
- )
- )
-
- ; Draw the rows of tiles
-
- (defun drawtiles ()
- (setq pdist (+ trad tspac))
- (setq off 0.0)
- (while (<= pdist (- plength trad))
- (drow pdist off)
- (setq pdist (+ pdist (* (+ tspac trad trad) (sin (dtr
-
-
-
-
- - 20 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 60)))))
- (if (= off 0.0)
- (setq off (* (+ tspac trad trad) (cos (dtr 60))))
- (setq off 0.0)
- )
- )
- )
-
- | ; Execute command, calling constituent functions
- |
- | (defun C:PATH ()
- | (gpuser)
- | (drawout)
- | (drawtiles)
- | )
-
- ä«íáó¿ó Σπ¡¬µ¿ε ß ¿¼Ñ¡Ñ¼ C:PATH, ¼δ ΓѼ ßá¼δ¼ ñ«íá󿽿 ¬«¼á¡ñπ PATH ó
- AutoCAD. ÑΓÑ »«»α«í«óáΓ∞ ¬«¼á¡ñπ, óóÑñ∩:
-
- Command: PATH
- Start point of path: 2,2
- End point of path: 9,8
- Half width of path: 2
- Radius of tiles: .2
- Spacing between tiles: .1
-
- /K«¼á¡ñá: PATH
- Háτá½∞¡á∩ Γ«τ¬á ñ«α«ª¬¿: 2,2
- K«¡Ñτ¡á∩ Γ«τ¬á ñ«α«ª¬¿: 9,8
- Å«½πΦ¿α¿¡á ñ«α«ª¬¿: 2
- Éáñ¿πß »½¿Γ¬¿: .2
- ÉáßßΓ«∩¡¿Ñ ¼Ñªñπ »½¿Γ¬á¼¿: .1/
-
- é αѺπ½∞ΓáΓÑ íπñÑΓ ¡áα¿ß«óá¡á »áᬫóá∩ ñ«α«ª¬á, ¬á¬ »«¬áºá¡« ¡á
- α¿ßπ¡¬Ñ.
-
- 3.8 Å«ßΓáó¿¼ Æ«τ¬¿ Háñ "i"
-
- é »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ PATH, óßÑ ¬«¼á¡ñδ, »ÑαÑñáóáѼδÑ ¡á
- óδ»«½¡Ñ¡¿Ñ ó AutoCAD, íπñπΓ «ΓαáªáΓ∞ß∩ "φσ«¼" ó ßΓα«¬Ñ ¬«¼á¡ñ¡δσ
- »«ñ߬ẫ¬ φ¬αá¡á, á Γá¬ªÑ óßÑ π¬áºδóáѼδÑ Γ«τ¬¿ íπñπΓ «ΓαáªáΓ∞ß∩ ¡á
- φ¬αá¡Ñ ó ó¿ñÑ ¼á½Ñ¡∞¬¿σ ¬αÑßΓ¿¬«ó (¼áα¬Ñα«ó). Å«ß½Ñ Γ«ú«, ¬á¬
- ¬«¼á¡ñ¡á∩ Σπ¡πµ¿∩ «Γ½áªÑ¡á, Γá¬«Ñ «ΓαáªÑ¡¿Ñ ¡á φ¬αá¡Ñ ¼«ªÑΓ íδΓ∞
- «Γ¬½ετÑ¡« ß ΓѼ, τΓ«íδ óδ»«½¡Ñ¡¿Ñ «»αÑñѽѡ¡«⌐ AutoLISP«¼ ¬«¼á¡ñδ
- óδú½∩ñѽ« ΓᬠªÑ, ¬á¬ óδ»«½¡Ñ¡¿Ñ ¬«¼á¡ñδ AutoCADá. ä«íáóΓÑ «Γ¼ÑτÑ¡¡δÑ
- ßΓ᫬¿ ó Σá⌐½ GP.LSP ñ½∩ »«ñáó½Ñ¡¿∩ φσá ¿ ¼áનα«ó¬¿:
-
- ; Convert angle in degrees to radians
-
- (defun dtr (a)
- (* pi (/ a 180.0))
- )
-
- ; Acquire information for garden path
-
- (defun gpuser ()
-
-
-
-
- - 21 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (setq sp (getpoint "\nStart point of path: "))
- (setq ep (getpoint "\nEnd point of path: "))
- (setq hwidth (getdist "\nHalf width of path: " sp))
- (setq trad (getdist "\nRadius of tiles: " sp))
- (setq tspac (getdist "\nSpacing between tiles: " sp))
-
- (setq pangle (angle sp ep))
- (setq plength (distance sp ep))
- (setq width (* 2 hwidth))
- (setq angp90 (+ pangle (dtr 90))) ;Path angle + 90 deg
- (setq angm90 (- pangle (dtr 90))) ;Path angle - 90 deg
- )
-
- ; Draw outline of path
-
- (defun drawout ()
- (command "pline"
- (setq p (polar sp angm90 hwidth))
- (setq p (polar p pangle plength))
- (setq p (polar p angp90 width))
- (polar p (+ pangle (dtr 180)) plength)
- "close"
- )
- )
-
- ; Place one row of tiles given distance along path
- ; and possibly offset it
-
- (defun drow (pd offset)
- (setq pfirst (polar sp pangle pd))
- (setq pctile (polar pfirst angp90 offset))
- (setq p1tile pctile)
- (while (< (distance pfirst p1tile) (- hwidth trad))
- (command "circle" p1tile trad)
- (setq p1tile (polar p1tile angp90 (+ tspac trad trad)))
- )
- (setq p1tile (polar pctile angm90 (+ tspac trad trad)))
- (while (< (distance pfirst p1tile) (- hwidth trad))
- (command "circle" p1tile trad)
- (setq p1tile (polar p1tile angm90 (+ tspac trad trad)))
- )
- )
-
- ; Draw the rows of tiles
-
- (defun drawtiles ()
- (setq pdist (+ trad tspac))
- (setq off 0.0)
- (while (<= pdist (- plength trad))
- (drow pdist off)
- (setq pdist (+ pdist (* (+ tspac trad trad) (sin (dtr
- 60)))))
- (if (= off 0.0)
- (setq off (* (+ tspac trad trad) (cos (dtr 60))))
- (setq off 0.0)
- )
-
-
-
-
- - 22 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- )
- )
-
- ; Execute command, calling constituent functions
-
- (defun C:PATH ()
- (gpuser)
- | (setq sblip (getvar "blipmode")
- | (setq scmde (getvar "cmdecho")
- | (setvar "blipmode" 0)
- | (setvar "cmdecho" 0)
- (drawout)
- (drawtiles)
- | (setvar "blipmode" sblip)
- | (setvar "cmdecho" scmde)
- )
-
- îδ ¿ß»«½∞º«ó὿ Σπ¡¬µ¿ε GETVAR ñ½∩ »«½πτÑ¡¿∩ ΓѬπΘ¿σ º¡áτÑ¡¿⌐
- αѪ¿¼«ó AutoCADá BLIPMODE ¿ CMDECHO. Ä¡¿ »α¿ßóá¿óáεΓß∩ »ÑαѼѡ¡δ¼
- SBLIP ¿ SCMDE ß »«¼«Θ∞ε Σπ¡¬µ¿¿ SETQ. äá½ÑÑ ¼δ ¿ß»«½∞º«ó὿ Σπ¡¬µ¿ε
- SETVAR ñ½∩ »α¿ßó«Ñ¡¿∩ φΓ¿¼ ß¿ßΓѼ¡δ¼ »ÑαѼѡ¡δ¼ AutoCADá º¡áτÑ¡¿∩
- ¡«½∞, τΓ« »α¿óÑñÑΓ ¬ »«ñáó½Ñ¡¿ε ¼áનα«ó¬¿ ¿ ¬«¼á¡ñ¡«ú« φσá. çá¼ÑΓ¿¼,
- τΓ« ¼δ »α«ñѽ὿ φΓ« Γ«½∞¬« »«ß½Ñ Γ«ú«, ¬á¬ ºá¬«¡τÑ¡ óó«ñ óσ«ñ¡«⌐
- ¿¡Σ«α¼áµ¿¿ τÑαѺ Σπ¡¬µ¿ε GPUSER. ¥Γ« ßñѽᡫ ñ½∩ Γ«ú«, τΓ«íδ ó ¼«¼Ñ¡Γ
- óó«ñá Γ«τѬ »«½∞º«óáΓѽѼ ¡á φ¬αá¡Ñ «ßΓáó὿ß∞ ¼áα¬Ñαδ.
-
- Å«ß½Ñ ºáóÑαΦÑ¡¿∩ «Γα¿ß«ó¬¿ ñ«α«ª¬¿ ¼δ ß¡«óá «íαáΓ¿½¿ß∞ ¬ Σπ¡¬µ¿¿
- SETVAR, τΓ«íδ ó«ßßΓá¡«ó¿Γ∞ »Ñαó«¡áτá½∞¡δÑ º¡áτÑ¡¿∩ ß¿ßΓѼ¡δ¼
- »ÑαѼѡ¡δ¼. çá»¿Φ¿ΓÑ Σá⌐½, ó맮ó¿ΓÑ AutoCAD ¿ »«»α«íπ⌐ΓÑ ΓÑ»Ñα∞
- óδ»«½¡¿Γ∞ ¬«¼á¡ñπ PATH. êß»δΓá⌐ΓÑ ÑÑ ó αẽ¿τ¡δσ αѪ¿¼áσ.
-
- 3.9 éδó«ñδ
-
- çá ñ«ßΓáΓ«τ¡« ¬«α«Γ¬¿⌐ «ΓαѺ«¬ óαѼѡ¿ éδ ñ«íá󿽿 ¡«óπε ¬«¼á¡ñπ
- ó AutoCAD. é« ¼¡«ú¿σ ß¿ßΓѼáσ æÇÅÉ éá¼ ¡Ñ«íσ«ñ¿¼«:
- - ¿¼ÑΓ∞ ¿ßσ«ñ¡δÑ ΓѬßΓδ »α«úαá¼¼;
- - íδΓ∞ »α«ΣÑßß¿«¡á½∞¡δ¼ »αúαá¼¼¿ßΓ«¼;
- - íδΓ∞ ߻ѵ¿á½¿ßΓ«¼ ó Φ¿α«¬«⌐ «í½áßΓ¿ º¡á¡¿⌐,
- ñ½∩ Γ«ú« τΓ«íδ ßñѽáΓ∞ Γ«½∞¬« τΓ« »α«ñѽᡡ«Ñ ¡á¼¿. AutoCAD - ß¿ßΓѼá
- ß «Γ¬αδΓ«⌐ áασ¿ΓѬΓπα«⌐ ¿ AutoLISP ñáÑΓ éá¼ ó α㪨 ¼«Θ¡δÑ ßαÑñßΓóá,
- ¬«Γ«αδÑ »α«¿ºó«ñ¿Γѽ∩ í«½∞Φ¿¡ßΓóá ß¿ßΓѼ æÇÅÉ «ßΓáó½∩εΓ ºá¬αδΓ묨 «Γ
- »«½∞º«óáΓѽÑ⌐.
-
- éδ ¼«ªÑΓÑ «»¿αáΓ∞ß∩ ¡á φëà »α¿¼Ñα ¬á¬ ¡á «Γ»αáó¡πε Γ«τ¬π ó
- «ßó«Ñ¡¿¿ AutoLISPá. 髺¼«ª¡« π éáß »«∩ó¿Γß∩ ªÑ½á¡¿Ñ ¡áτáΓ∞ ß
- ¼«ñ¿Σ¿¬áµ¿¿ ¿ αáßΦ¿αÑ¡¿∩ Γ«½∞¬« τΓ« ß«ºñá¡¡«⌐ ¬«¼á¡ñδ PATH. Å«»α«íπ⌐ΓÑ
- ßñѽáΓ∞ Γá¬, τΓ«íδ «¡á ºá»«½¡∩½á ñ«α«ª¬π ¬óáñαáΓ¡δ¼¿ ¿½¿
- ΦÑßΓ¿πú«½∞¡δ¼¿ »½¿Γ¬á¼¿. ä½∩ í«½ÑÑ Φ¿α«¬«ú« »α¿¼Ñ¡Ñ¡¿∩ ß«ºñá⌐ΓÑ ¡«óπε
- ¬«¼á¡ñπ, ¬«Γ«αá∩ ºá»αáΦ¿óáÑΓ µÑ¡Γαá½∞¡πε Γ«τ¬π ¿ »½«Θáñ∞, á ºáΓѼ
- «Γα¿ß«óδóáÑΓ ¬óáñαáΓ π¬áºá¡¡«⌐ »½«Θáñ¿, ºá»«½¡Ñ¡¡δ⌐ »½¿Γ¬«⌐.
-
- àß½¿ π éáß »«∩ó¿Γß∩ ªÑ½á¡¿Ñ í«½ÑÑ ú½πí«¬« ¿ºπτ¿Γ∞ αáí«Γπ
- ¿ß»«½∞º«óá¡¡δσ éἿ Σπ¡¬µ¿⌐ - «íαáΓ¿ΓÑß∞ ¬ »«ß½ÑñπεΘ¿¼ ú½áóá¼ φΓ«ú«
- απ¬«ó«ñßΓóá. çñÑß∞ ªÑ αáßß¼áΓα¿óὫß∞ ½¿Φ∞ »«óÑασ¡«ßΓ¡«Ñ «»¿ßá¡¿Ñ
- αáí«Γδ Σπ¡¬µ¿⌐ ¿ ¿σ »α¿¼Ñ¡Ñ¡¿∩. é AutoLISPÑ ºá½«ªÑ¡« ¼¡«ú« ߬αδΓδσ
- 󫺼«ª¡«ßΓÑ⌐. ä½∩ í«½ÑÑ ú½πí«¬«ú« ¿σ »«¡¿¼á¡¿∩ - ßá¼«Ñ ½πτΦÑÑ ¿ß»δΓáΓ∞
-
-
-
-
- - 23 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Σπ¡¬µ¿¿ AutoLISPá ó αáí«ΓÑ.
-
- àß½¿ éδ »α¿¼Ñ¡∩ÑΓÑ AutoLISP - éδ »ÑαÑσ«ñ¿ΓÑ ¡á í«½ÑÑ óδß«¬¿⌐
- πα«óÑ¡∞ ¼áßΓÑαßΓóá ó αáí«ΓÑ ß AutoCAD«¼. ū߬«½∞¬π éδ ¿ß»«½∞ºπÑΓÑ
- AutoLISP ñ½∩ áóΓ«¼áΓ¿ºáµ¿¿ απΓ¿¡¡δσ τÑαΓѪ¡δσ «»Ñαᵿ⌐, π éáß »«∩ó¿Γß∩
- 󫺼«ª¡«ßΓ∞ πñѽ∩Γ∞ í«½∞ΦÑ ó¡¿¼á¡¿∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« »α«Ñ¬Γ¿α«óá¡¿ε.
- àß½¿ éδ «ó½áñÑÑΓÑ AutoLISP«¼, «¡ íπñÑΓ ñ«½ú« ß½πª¿Γ∞ éá¼.
- lsp-4-0
-
-
- â½áóá 4
-
- öπ¡¬µ¿¿ AutoLISPá
-
- AutoLISP ß«ñÑαª¿Γ ¡Ñ¬«Γ«α«Ñ τ¿ß½« ºáαá¡ÑÑ «»αÑñѽѡ¡δσ Σπ¡¬µ¿⌐. Káªñá∩
- Σπ¡¬µ¿∩ óδºδóáÑΓß∩ ¬á¬ ß»¿ß«¬, »Ñαóδ¼ φ½Ñ¼Ñ¡Γ«¼ ¬«Γ«α«ú« ∩ó½∩ÑΓß∩ ¿¼∩
- Σπ¡¬µ¿¿ (¡áíαá¡¡«Ñ ¡á óÑασ¡Ñ¼ ¿½¿ ¡¿ª¡Ñ¼ αÑú¿ßΓαÑ), á «ßΓá½∞¡δ¼¿ -
- áαúπ¼Ñ¡Γδ φΓ«⌐ Σπ¡¬µ¿¿ (Ñß½¿ «¡¿ ÑßΓ∞).
-
- é φΓ«⌐ ú½áóÑ óδ ¡á⌐ñÑΓÑ ß»¿ß«¬ óßÑσ «ß¡«ó¡δσ Σπ¡¬µ¿⌐ AutoLISP (ó á½Σá-
- ó¿Γ¡«¼ »«α∩ñ¬Ñ). éδ πó¿ñ¿ΓÑ, τΓ« ¼¡«ú¿Ñ ¿º Σπ¡¬µ¿⌐ ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿
- LISP, ¿σ ¼«ª¡« ¡á⌐Γ¿ ó ¬áªñ«¼ απ¬«ó«ñßΓóÑ »« ∩ºδ¬π »α«úαá¼¼¿α«óá¡¿∩
- LISP. äαπú¿Ñ ªÑ - π¡¿¬á½∞¡δÑ, ß«ºñá¡¡δÑ ß»Ñµ¿á½∞¡« ñ½∩ úαáΣ¿τÑ߬¿σ
- 󫺼«ª¡«ßΓÑ⌐ AutoCADá. HѬ«Γ«αδÑ αáßΦ¿αÑ¡¡δÑ Σπ¡¬µ¿¿ «»¿ßδóáεΓß∩ ó
- ß½ÑñπεΘ¿σ ú½áóáσ.
-
- 4.1 (+ <τ¿ß½«> <τ¿ß½«>...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßπ¼¼π óßÑσ <τ¿ßѽ>. Ä¡á ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- ¬á¬ ß µÑ½δ¼¿, Γᬠ¿ ß ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ τ¿ß½á¼¿. àß½¿ óßÑ <τ¿ß½á> µÑ½δÑ,
- αѺπ½∞ΓáΓ íπñÑΓ µÑ½δ¼; Ñß½¿ σ«Γ∩ íδ «ñ¡« <τ¿ß½«> ñÑ⌐ßΓó¿Γѽ∞¡«Ñ, óßÑ
- µÑ½δÑ íπñπΓ »αÑ«íαẫóá¡δ ó ñÑ⌐ßΓó¿Γѽ∞¡δÑ ¿ αѺπ½∞ΓáΓ íπñÑΓ ñÑ⌐ßΓó¿-
- Γѽ∞¡δ¼. Há»α¿¼Ñα:
-
- (+ 1 2) ó«ºóαáΘáÑΓ 3
- (+ 1 2 3 4.5) ó«ºóαáΘáÑΓ 10.500000
- (+ 1 2 3 4.0) ó«ºóαáΘáÑΓ 10.000000
-
- 4.2 (- <τ¿ß½«> <τ¿ß½«>...)
-
- ¥Γá Σπ¡¬µ¿∩ óδτ¿ΓáÑΓ óΓ«α«Ñ <τ¿ß½«> ¿º »Ñαó«ú« ¿ ó«ºóαáΘáÑΓ αạ«ßΓ∞.
- àß½¿ ºáñá¡« í«½ÑÑ ñóπσ <τ¿ßѽ>, Γ« ¿º »Ñαó«ú« óδτ¿ΓáÑΓß∩ ßπ¼¼á «ßΓá½∞-
- ¡δσ. àß½¿ ºáñá¡« Γ«½∞¬« «ñ¡« <τ¿ß½«>, «¡« óδτ¿ΓáΓß∩ ¿º 0 ¿ ó«ºóαáΘáÑΓß∩
- αѺπ½∞ΓáΓ. öπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß µÑ½δ¼¿ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ »«
- ßΓá¡ñáαΓ¡δ¼ »αáó¿½á¼ óδτ¿ß½Ñ¡¿∩. Há»α¿¼Ñα:
-
- (- 50 40) ó«ºóαáΘáÑΓ 10
- (- 50 40.0 2) ó«ºóαáΘáÑΓ 8.000000
- (- 50 40.0 2.5 ó«ºóαáΘáÑΓ 7.500000
- (- 8) ó«ºóαáΘáÑΓ -8
-
- 4.3 (* <τ¿ß½«> <τ¿ß½«>...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »α«¿ºóÑñÑ¡¿Ñ óßÑσ <τ¿ßѽ>.
- öπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß µÑ½δ¼¿ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ »« ßΓá¡ñáαΓ-
- ¡δ¼ »αáó¿½á¼ óδτ¿ß½Ñ¡¿∩. Há»α¿¼Ñα:
-
-
-
-
-
- - 24 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (* 2 3) ó«ºóαáΘáÑΓ 6
- (* 2 3 4.0) ó«ºóαáΘáÑΓ 24.000000
- (* 3 -4.5) ó«ºóαáΘáÑΓ -13.500000
-
- 4.4 (/ <τ¿ß½«> <τ¿ß½«>...)
-
- ¥Γá Σπ¡¬µ¿∩ ñѽ¿Γ »Ñαó«Ñ <τ¿ß½«> ¡á óΓ«α«Ñ ¿ ó«ºóαáΘáÑΓ τáßΓ¡«Ñ. àß½¿
- ºáñá¡« í«½ÑÑ ñóπσ <τ¿ßѽ>, »Ñαó«Ñ ñѽ¿Γß∩ ¡á »α«¿ºóÑñÑ¡¿Ñ «ßΓá½∞¡δσ ¿
- ó«ºóαáΘáÑΓß∩ «¬«¡τáΓѽ∞¡«Ñ τáßΓ¡«Ñ. öπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß
- µÑ½δ¼¿ ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ »« ßΓá¡ñáαΓ¡δ¼ »αáó¿½á¼ óδτ¿ß½Ñ¡¿∩. Há»α¿¼Ñα:
-
- (/ 100 2) ó«ºóαáΘáÑΓ 50
- (/ 100 2.0) ó«ºóαáΘáÑΓ 50.000000
- (/ 100 20 2.0) ó«ºóαáΘáÑΓ 2.500000
- (/ 100 20.0 2) ó«ºóαáΘáÑΓ 2.500000
- (/ 100 20 2) ó«ºóαáΘáÑΓ 2
- (/ 135 360) ó«ºóαáΘáÑΓ 0
- (/ 135 360.0) ó«ºóαáΘáÑΓ 0.375000
-
- 4.5 (= <áΓ«¼> <áΓ«¼>...)
-
- Σπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ "αáó¡«". àß½¿ óßÑ <áΓ«¼δ> φ¬ó¿óá½Ñ¡Γ¡δ - ó«ºóαáΘáÑΓß∩
- Æ, Ñß½¿ σ«Γ∩ íδ «ñ¿¡ ¡Ñ αáó¡« - nil. é ¬áτÑßΓóÑ áαúπ¼Ñ¡Γ«ó ¼«úπΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ¬á¬ τ¿ß½á, Γᬠ¿ ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ. Há»α¿¼Ñα:
-
- (= 4 4.0) ó«ºóαáΘáÑΓ Æ
- (= 20 388) ó«ºóαáΘáÑΓ nil
- (= 2.4 2.4 2.4) ó«ºóαáΘáÑΓ Æ
- (= 499 499 500) ó«ºóαáΘáÑΓ nil
- (= "∩" "∩") ó«ºóαáΘáÑΓ Æ
- (= "∩" "Γδ") ó«ºóαáΘáÑΓ nil
-
- 4.6 (/= <áΓ«¼1> <áΓ«¼2>)
-
- öπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ "¡Ñ αáó¡«". àß½¿ <áΓ«¼1> ¡Ñ φ¬ó¿óá½Ñ¡ΓÑ¡ <áΓ«¼π2> -
- ó«ºóαáΘáÑΓß∩ Æ, Ñß½¿ «¡¿ φ¬ó¿óá½Ñ¡Γ¡δ - nil. öπ¡¬µ¿∩ ¡Ñ«»αÑñѽѡá ñ½∩
- τ¿ß½á áαúπ¼Ñ¡Γ«ó í«½ÑÑ ñóπσ. Há»α¿¼Ñα:
-
- (/= 10 20) ó«ºóαáΘáÑΓ Æ
- (/= "Γδ" Γδ") ó«ºóαáΘáÑΓ nil
- (/= 5.43 5.44) ó«ºóαáΘáÑΓ Æ
-
- 4.7 (< <áΓ«¼> <áΓ«¼>...)
-
- öπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ "¼Ñ¡∞ΦÑ, τѼ". àß½¿ »Ñαóδ⌐ <áΓ«¼> ¼Ñ¡∞ΦÑ, τѼ óΓ«α«⌐ -
- ó«ºóαáΘáÑΓß∩ Æ, Ñß½¿ ¡ÑΓ - nil. àß½¿ ñá¡« í«½ÑÑ 2-σ <áΓ«¼«ó>, Γ«, Ñß½¿
- ¬áªñδ⌐ »αÑñδñπΘ¿⌐ áΓ«¼ ¼Ñ¡∞ΦÑ »«ß½ÑñπεΘÑú«, - ó«ºóαáΘáÑΓß∩ Æ. Há»α¿¼Ñα:
-
- (< 10 20) ó«ºóαáΘáÑΓ Æ
- (< "b" "c") ó«ºóαáΘáÑΓ T
- (< 357 33.2) ó«ºóαáΘáÑΓ nil
- (< 2 3 88) ó«ºóαáΘáÑΓ T
- (< 2 3 4 4) ó«ºóαáΘáÑΓ nil
-
-
-
-
-
- - 25 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 4.8 (<= <áΓ«¼> <áΓ«¼>...)
-
- öπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ "¼Ñ¡∞ΦÑ ¿½¿ αáó¡«". àß½¿ »Ñαóδ⌐ <áΓ«¼> ¼Ñ¡∞ΦÑ ¿½¿
- αáóÑ¡ óΓ«α«¼π - ó«ºóαáΘáÑΓß∩ Æ, Ñß½¿ ¡ÑΓ - nil. àß½¿ ñá¡« í«½ÑÑ 2-σ
- <áΓ«¼«ó>, Γ«, Ñß½¿ ¬áªñδ⌐ »αÑñδñπΘ¿⌐ áΓ«¼ ¼Ñ¡∞ΦÑ ¿½¿ αáóÑ¡ »«ß½Ññπε-
- ΘѼπ, ó«ºóαáΘáÑΓß∩ Æ. Há»α¿¼Ñα:
-
- (<= 10 20) ó«ºóαáΘáÑΓ T
- (<= "b" "b") ó«ºóαáΘáÑΓ T
- (<= 357 33.2) ó«ºóαáΘáÑΓ nil
- (<= 2 9 9) ó«ºóαáΘáÑΓ T
- (<= 2 9 4 5) ó«ºóαáΘáÑΓ nil
-
- 4.9 (> <áΓ«¼> <áΓ«¼>...)
-
- öπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ "í«½∞ΦÑ". àß½¿ »Ñαóδ⌐ <áΓ«¼> í«½∞ΦÑ, τѼ óΓ«α«⌐ -
- ó«ºóαáΘáÑΓß∩ Æ, Ñß½¿ ¡ÑΓ - nil. àß½¿ ñá¡« í«½ÑÑ 2-σ <áΓ«¼«ó>, Γ«,
- Ñß½¿ ¬áªñδ⌐ »αÑñδñπΘ¿⌐ áΓ«¼ í«½∞ΦÑ »«ß½ÑñπεΘÑú«, - ó«ºóαáΘáÑΓß∩ Æ.
- Há»α¿¼Ñα:
-
- (> 120 17) ó«ºóαáΘáÑΓ T
- (> "c" "b") ó«ºóαáΘáÑΓ T
- (> 3.5 1792) ó«ºóαáΘáÑΓ nil
- (> 77 4 2) ó«ºóαáΘáÑΓ T
- (> 77 4 4) ó«ºóαáΘáÑΓ nil
-
- 4.10 (>= <áΓ«¼> <áΓ«¼>...)
-
- öπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ "í«½∞ΦÑ ¿½¿ αáó¡«", àß½¿ »Ñαóδ⌐ <áΓ«¼> í«½∞ΦÑ ¿½¿
- αáóÑ¡ óΓ«α«¼π - ó«ºóαáΘáÑΓß∩ Æ, Ñß½¿ ¡ÑΓ - nil. àß½¿ ñá¡« í«½ÑÑ 2-σ
- <áΓ«¼«ó>, Γ«, Ñß½¿ ¬áªñδ⌐ »αÑñδñπΘ¿⌐ áΓ«¼ í«½∞ΦÑ ¿½¿ αáóÑ¡ »«ß½Ññπε-
- ΘѼπ, - ó«ºóαáΘáÑΓß∩ Æ.
- Há»α¿¼Ñα:
-
- (>= 120 17) ó«ºóαáΘáÑΓ T
- (>= "c" "c") ó«ºóαáΘáÑΓ T
- (>= 3.5 1792) ó«ºóαáΘáÑΓ nil
- (>= 77 4 4) ó«ºóαáΘáÑΓ T
- (>= 77 4 9) ó«ºóαáΘáÑΓ nil
-
-
- lsp-4-1
-
- 4.11 (~ <τ¿ß½«>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ½«ú¿τÑ߬«Ñ HàÆ (ñ«»«½¡Ñ¡¿Ñ ñ« Ññ¿¡¿µδ). <ù¿ß½«>
- ñ«½ª¡« íδΓ∞ µÑ½δ¼. Há»α¿¼Ñα:
-
- (~ 3) ó«ºóαáΘáÑΓ -4
- (~ 100) ó«ºóαáΘáÑΓ -100
- (~ -4) ó«ºóαáΘáÑΓ 3
-
- 4.12 (1+ <τ¿ß½«>)
-
- ÉѺπ½∞ΓáΓ Σπ¡¬µ¿¿ - <τ¿ß½«>, πóѽ¿τÑ¡¡«Ñ ¡á Ññ¿¡¿µπ. <ù¿ß½«> ¼«ªÑΓ
- íδΓ∞ µÑ½δ¼ ¿½¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼. Há»α¿¼Ñα:
-
- (1+ 5) ó«ºóαáΘáÑΓ 6
-
-
-
-
- - 26 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- (1+ -17.5) ó«ºóαáΘáÑΓ -16.500000
-
- 4.13 (1- <τ¿ß½«>)
-
- ÉѺπ½∞ΓáΓ Σπ¡¬µ¿¿ - <τ¿ß½«>, π¼Ñ¡∞ΦÑ¡¡«Ñ ¡á Ññ¿¡¿µπ. <ù¿ß½«> ¼«ªÑΓ
- íδΓ∞ µÑ½δ¼ ¿½¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼. Há»α¿¼Ñα:
-
- (1- 5) ó«ºóαáΘáÑΓ 4
- (1- -17.5) ó«ºóαáΘáÑΓ -18.500000
-
- 4.14 (abs <τ¿ß½«>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ <τ¿ß½á>. <ù¿ß½«> ¼«ªÑΓ íδΓ∞
- µÑ½δ¼ ¿½¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼. Há»α¿¼Ñα:
-
- (abs 100) ó«ºóαáΘáÑΓ 100
- (abs -100) ó«ºóαáΘáÑΓ 100
- (abs -99.25) ó«ºóαáΘáÑΓ 99.250000
-
- 4.15 (and <óδαáªÑ¡¿Ñ>...)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ óδ»«½¡Ñ¡¿∩ ½«ú¿τÑ߬«ú« ê ¡áñ ß»¿ß¬«¼
- óδαáªÑ¡¿⌐. 髺óαáΘáΓ∞ß∩ íπñÑΓ nil, Ñß½¿ ½εí«Ñ ¿º óδαáªÑ¡¿⌐ ¿¼ÑÑΓ
- º¡áτÑ¡¿Ñ nil, ¿¡áτÑ Æ.
- Há»α¿¼Ñα:
-
- (setq a 103)
- (setq b nil)
- (setq c "string")
-
- Γ«úñá:
-
- (and 1.4 a c) ó«ºóαáΘáÑΓ T
- (and 1.4 a b c) ó«ºóαáΘáÑΓ nil
-
- 4.16 (angle <Γ«τ1> <Γ«τ2>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ πú«½ (ó αáñ¿á¡áσ) ¼Ñªñπ 2-¼∩ ½πτἿ, ¡á»αó½Ñ¡¡δ¼¿
- ¿º 2-σ ¼Ñα¡«⌐ <Γ«τ1>. ÅÑαóδ⌐ - óñ«½∞ «ß¿ ò ó ßΓ«α«¡π »«½«ª¿Γѽ∞¡«ú«
- ¡á»αáó½Ñ¡¿∩, óΓ«α«⌐ - ó ßΓ«α«¡π 2-σ ¼Ñα¡«⌐ <Γ«τ2>, úñÑ 2-σ ¼Ñα¡á∩ Γ«τ¬á
- - ß»¿ß«¬ 2-σ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ.
- Há»α¿¼Ñα:
-
- (angle '(1.0 1.0) '(1.0 4.0)) ó«ºóαáΘáÑΓ 1.570796
- (angle '(5.0 1.33) '(2.4 1.33)) ó«ºóαáΘáÑΓ 3.141593
-
- 4.17 (angtos <πú«½> [<»αÑñßΓáó½Ñ¡¿Ñ> [<Γ«τ¡«ßΓ∞>]])
-
- öπ¡¬µ¿∩ íÑαÑΓ <πú«½> (ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«, ó αáñ¿á¡áσ) ¿ ó«ºóαáΘáÑΓ
- Ñú« »αÑ«íαẫóá¡¡δ¼ ó ßΓ᫬«óπε ¬«¡ßΓá¡Γπ. Çαúπ¼Ñ¡Γ <»αÑñßΓáó½Ñ¡¿Ñ> -
-
-
-
-
-
-
- - 27 -
-
-
-
-
- !~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~!
- ! ANGTOS ! ö«α¼áΓ »αÑ«íαẫóá¡¿∩ !
- !---------!-------------------------!
- ! 0 ! âαáñπßδ !
- ! ! !
- ! 1 ! âαáñπßδ/¼¿¡πΓδ/ßѬπ¡ñδ !
- !---------!-------------------------!
- ! 2 ! âαáñδ !
- !---------!-------------------------!
- ! 3 ! Éáñ¿á¡δ !
- !---------!-------------------------!
- ! 4 ! âÑ«ñѺ¿τÑ߬«Ñ »αÑñßΓáó½ !
- !_________!_________________________!
-
- Çαúπ¼Ñ¡Γ <Γ«τ¡«ßΓ∞> - µÑ½«Ñ τ¿ß½«, π¬áºδóáÑΓ ¬«½¿τÑßΓó« µ¿Σα »«ß½Ñ
- ºá»∩Γ«⌐. Çαúπ¼Ñ¡Γδ <»αÑñßΓáó½Ñ¡¿Ñ> ¿ <Γ«τ¡«ßΓ∞> «íαáΘáεΓß∩ ¬ »ÑαѼѡ¡δ¼
- AutoCADá AUNITS ¿ AUPREC. àß½¿ »α«¿ú¡«α¿α«óáΓ∞ φΓ¿ áαúπ¼Ñ¡Γδ, Γ« íπñπΓ
- ¿ß»«½∞º«óá¡δ ΓѬπΘ¿Ñ º¡áτÑ¡¿∩ AUNITS ¿ AUPREC.
-
- Há»α¿¼Ñα, ñá¡«:
-
- (setq pt1 '(5.0 1.33))
- (setq pt2 '(2.4 1.33))
- (setq a (angle pt1 pt2))
-
- Γ«úñá:
-
- (angtos a 0 0) ó«ºóαáΘáÑΓ "180"
- (angtos a 0 4) ó«ºóαáΘáÑΓ "180.0000"
- (angtos a 1 4) ó«ºóαáΘáÑΓ "180d0'0""
- (angtos a 3 4) ó«ºóαáΘáÑΓ "3.1416r"
- (angtos a 4 2) ó«ºóαáΘáÑΓ "W"
-
- 4.18 (append <óδαáªÑ¡¿Ñ>...)
-
- öπ¡¬µ¿∩ íÑαÑΓ ½εí«Ñ τ¿ß½« ß»¿ß¬«ó (<óδαáªÑ¡¿⌐>) ¿ ß½¿óáÑΓ ¿σ ó¼ÑßΓÑ
- ¬á¬ «ñ¿¡ ß»¿ß«¬.
-
- (append '(a b) '(c d)) ó«ºóαáΘáÑΓ (A B C D)
- (append '((a) (b)) '((c) (d))) ó«ºóαáΘáÑΓ ((A) (B) (C) (D))
-
- APPEND ΓαÑíπÑΓ, τΓ«íδ áαúπ¼Ñ¡Γδ í뫨 ß»¿ß¬á¼¿.
-
- 4.19 (apply <Σπ¡¬µ¿∩> <ß»¿ß«¬>)
-
- éδ»«½¡∩ÑΓß∩ <Σπ¡¬µ¿∩> ß áαúπ¼Ñ¡ΓἿ, ºáñá¡¡δ¼¿ <ß»¿ß¬«¼>. Há»α¿¼Ñα:
-
- (apply '+ '(1 2 3)) ó«ºóαáΘáÑΓ 6
- (apply 'strcat '("a" "b" "c")) ó«ºóαáΘáÑΓ "abc"
-
- APPLY αáí«ΓáÑΓ ¬á¬ ß« óßΓα«Ñ¡¡δ¼¿ Σπ¡¬µ¿∩¼¿ (ßπíα), Γᬠ¿ ß Σπ¡¬µ¿∩¼¿,
- «»αÑñѽѡ¡δ¼¿ »«½∞º«óáΓѽѼ («¡¿ ß«ºñáεΓß∩ ß »«¼«Θ∞ε Σπ¡¬µ¿⌐ DEFUN ¿½¿
- LAMBDA.
-
- 4.20 (ascii <ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¿Ñ ß¿¼ó«½á <ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá> ó Ñú«
- ASCII-ß¿¼ó«½∞¡δ⌐ ¬«ñ (µÑ½«Ñ τ¿ß½«). ¥Γá Σπ¡¬µ¿∩ »«ñ«í¡á Σπ¡¬µ¿¿ ASC ó
- üÑ⌐ß¿¬Ñ. Há»α¿¼Ñα:
-
-
-
-
-
- - 28 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (ascii "A") ó«ºóαáΘáÑΓ 65
- (ascii "a") ó«ºóαáΘáÑΓ 97
- (ascii "BIG") ó«ºóαáΘáÑΓ 66
-
- lsp-4-2
-
- 4.21 (assoc <φ½Ñ¼Ñ¡Γ ß»¿ß¬á> <ßΓαπ¬Γπα¿α«óá¡¡δ⌐ ß»¿ß«¬>)
-
- öπ¡¬µ¿∩ »α«ß¼áΓα¿óáÑΓ <ßΓαπ¬Γπα¿α«óá¡¡δ⌐ ß»¿ß«¬> »« ¬½ετπ <φ½Ñ¼Ñ¡Γ
- ß»¿ß¬á> ¿ ó«ºóαáΘáÑΓ Γ«τ¬π óσ«ñá <ßΓαπ¬Γπα. ß»¿ß¬á>. àß½¿ <φ½Ñ¼Ñ¡Γ
- ß»¿ß¬á> ¡Ñ ¡á⌐ñÑ¡, ASSOC ó«ºóαáΘáÑΓ nil. Há»α¿¼Ñα ñ«»πßΓ¿¼, τΓ« "al"
- «»αÑñѽѡ ¬á¬:
-
- ((name box) (width 3) (size 4.7263) (depth 5))
-
- Γ«úñá:
-
- (assoc 'size al) ó«ºóαáΘáÑΓ (SIZE 4.7363)
- (assoc 'weight al) ó«ºóαáΘáÑΓ nil
-
- CΓαπ¬Γπα¿α«óá¡¡δÑ ß»¿ß¬¿ τáßΓ« ¿ß»«½∞ºπεΓß∩ ñ½∩ σαá¡Ñ¡¿∩ ñá¡¡δσ, ¬
- ¬«Γ«αδ¼ ¼«ª¡« ¿¼ÑΓ∞ ñ«ßΓπ» »« ¬½ετπ. ¥Γ« »«σ«ªÑ ¡á ßΓαπ¬Γπαδ ¿ ¼áßß¿óδ
- ó ñαπú¿σ ∩ºδ¬áσ »α«úαá¼¼¿α«óá¡¿∩. öπ¡¬µ¿∩ SUBST, «»¿ßá¡¡á∩ ¡¿ªÑ ó φΓ«⌐
- ú½áóÑ, «íÑß»Ñτ¿óáÑΓ πñ«í¡δ⌐ ß»«ß«í ºá¼Ñ¡δ óѽ¿τ¿¡δ, ¡á⌐ñÑ¡¡«⌐ »« ¬½ετπ
- ó ßΓαπ¬Γπα¿α«óá¡¡«¼ ß»¿ß¬Ñ.
-
- 4.22 (atan <τ¿ß½«1> [<τ¿ß½«2>])
-
- àß½¿ <τ¿ß½«2> ¡Ñ ºáñá¡«, ATAN óδτ¿ß½∩ÑΓ áα¬Γá¡úÑ¡ß <τ¿ß½á1>, ó αáñ¿á¡áσ.
- <ù¿ß½«1> ¼«ªÑΓ íδΓ∞ «Γα¿µáΓѽ∞¡δ¼; «í½áßΓ∞ ñ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐ «Γ -pi
- ñ« +pi αáñ¿á¡. Há»α¿¼Ñα:
-
- (atan 0.5) ó«ºóαáΘáÑΓ 0.463647
- (atan 1.0) ó«ºóαáΘáÑΓ 0.785398
- (atan -1.0) ó«ºóαáΘáÑΓ -0.785398
- (angtos (atan -1.0) 0 4) ó«ºóαáΘáÑΓ "-45.0000"
-
- àß½¿ ºáñá¡δ «íá τ¿ß½á, ó«ºóαáΘáÑΓß∩ áα¬Γá¡úÑ¡ß (<τ¿ß½«1>/<τ¿ß½«2>) ó
- αáñ¿á¡áσ. àß½¿ <τ¿ß½«2> - ¡«½∞, ó ºáó¿ß¿¼«ßΓ¿ «Γ º¡á¬á <τ¿ß½á1>,
- ó«ºóαáΘáÑΓß∩ + ¿½¿ -1.570796 αáñ¿á¡ (90 ¿½¿ -90 úαáñπß«ó).
-
- 4.23 (atof <ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¿Ñ <ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ> ó ñÑ⌐ßΓó¿-
- Γѽ∞¡«Ñ τ¿ß½«.
- Há»α¿¼Ñα:
-
- (atof "97.1") ó«ºóαáΘáÑΓ 97.100000
- (atof "3") ó«ºóαáΘáÑΓ 3.000000
-
- 4.24 (atoi <ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá> )
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¿Ñ <ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ> ó µÑ½«Ñ
- τ¿ß½«.
- Há»α¿¼Ñα:
-
-
-
-
-
- - 29 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- (atoi "97") ó«ºóαáΘáÑΓ 97
- (atoi "3") ó«ºóαáΘáÑΓ 3
- (atoi "3.9") ó«ºóαáΘáÑΓ 3
-
- 4.25 (atom <φ½Ñ¼Ñ¡Γ>)
-
- àß½¿ <φ½Ñ¼Ñ¡Γ> - ß»¿ß«¬ - ó«ºóαáΘáÑΓß∩ nil, ¿¡áτÑ Æ.
- ïεí«⌐ φ½Ñ¼Ñ¡Γ, ¬«Γ«αδ⌐ ¡Ñ ∩ó½∩ÑΓß∩ ß»¿ß¬«¼, ßτ¿ΓáÑΓß∩ ¬á¬ ¡Ññѽ¿¼δ⌐
- (áΓ«¼). Há»α¿¼Ñα:
-
- (setq a '(x y z))
- (setq b 'a)
-
- Γ«úñá:
-
- (atom 'a) ó«ºóαáΘáÑΓ T
- (atom a) ó«ºóαáΘáÑΓ nil
- (atom 'b) ó«ºóαáΘáÑΓ T
- (atom b) ó«ºóαáΘáÑΓ T
- (atom '(a b c)) ó«ºóαáΘáÑΓ nil
-
- HѬ«Γ«αδÑ óÑαß¿¿ LISPá αẽ¿τáεΓß∩ ó ßó«Ñ⌐ ¿¡ΓÑα»α¿Γᵿ¿ Σπ¡¬µ¿¿
- ÇÆÄî, ΓᬠτΓ« íπñ∞ΓÑ ó¡¿¼áΓѽ∞¡δ »α¿ »ÑαÑσ«ñÑ ¿º «ñ¡«⌐ óÑαß¿¿ ó ñαπúπε.
-
- 4.26 (Boole <Σπ¡¬µ¿∩> <µÑ½«Ñ1> <µÑ½«Ñ2>...)
-
- ¥Γ« «ß¡«ó¡á∩ í¿Γ«óá∩ üπ½Ñóá Σπ¡¬µ¿∩. <öπ¡¬µ¿∩> - φΓ« µÑ½«Ñ τ¿ß½« ¼Ñªñπ
- 0 ¿ 15, »αÑñßΓáó½∩εΘÑÑ «ñ¡π ¿º 16 󫺼«ª¡δσ üπ½Ñóδσ Σπ¡¬µ¿⌐ ñóπσ »ÑαÑ-
- ¼Ñ¡¡δσ. ¥Γá Σπ¡¬µ¿∩ »«í¿Γ«ó« (½«ú¿τÑ߬¿) ¬«¼í¿¡¿απÑΓ µÑ½«τ¿ß½Ñ¡¡δÑ
- áαúπ¼Ñ¡Γδ ó ß««ΓóÑΓßΓó¿¿ ß Γáí½¿µÑ⌐ ¿ßΓ¿¡¡«ßΓ¿, »α¿óÑñÑ¡¡«⌐ ¡¿ªÑ.
-
- !~~~~~~~~!~~~~~~~~!~~~~~~~~~~!
- ! µÑ½«Ñ1 ! µÑ½«Ñ2 ! ¬«ñ Σ㭪 !
- !--------!--------!----------!
- ! 0 ! 0 ! 8 !
- !--------!--------!----------!
- ! 0 ! 1 ! 4 !
- !--------!--------!----------!
- ! 1 ! 0 ! 2 !
- !--------!--------!----------!
- ! 1 ! 1 ! 1 !
- !________1________!__________!
-
- Káªñδ⌐ í¿Γ <µÑ½«ú«1> íÑαÑΓß∩ ß«ó¼ÑßΓ¡« ß ß««ΓóÑΓßΓóπεΘ¿¼ í¿Γ«¼ <µÑ½«ú«2>,
- ¿ »«¼ÑΘáÑΓß∩ ó «ñ¡π ¿º ßΓ᫬ Γáí½¿µδ ¿ßΓ¿¡¡«ßΓ¿. é ºáó¿ß¿¼«ßΓ¿ «Γ ¬«ñá
- Σπ¡¬µ¿¿, ßΓ«∩ΘÑú« ó φΓ«⌐ ßΓ᫬Ñ, αѺπ½∞Γ¿απεΘ¿⌐ í¿Γ íπñÑΓ ½¿í« 0 ½¿í« 1.
- àß½¿ ó <Σπ¡¬µ¿¿> πßΓá¡«ó½Ñ¡ »«ñσ«ñ∩Θ¿⌐ í¿Γ, αѺπ½∞Γ¿απεΘ¿⌐ í¿Γ - 1,
- ¿¡áτÑ - 0.
-
- HѬ«Γ«αδÑ º¡áτÑ¡¿∩ <Σπ¡¬µ¿¿> φ¬ó¿óá½Ñ¡Γ¡δ ßΓá¡ñáαΓ¡δ¼ üπ½Ñóδ¼ «»Ñαᵿ∩¼
- ê, êïê, ¿ß¬½ετáεΘѼπ êïê, Hà:
-
-
-
-
- - 30 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- !~~~~~~!~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- ! ö㭪 ! Ä»Ñαᵿ∩ ! ÉѺπ½∞Γ¿απεΘ¿⌐ í¿Γ 1, Ñß½¿... !
- !------!-----------!--------------------------------------!
- ! 1 ! ê ! «íá í¿Γá αáó¡δ 1 !
- !------!-----------!--------------------------------------!
- ! 6 ! ¿ß¬½. êïê ! Γ«½∞¬« «ñ¿¡ ¿º ñóπσ í¿Γ«ó αáóÑ¡ 1 !
- !------!-----------!--------------------------------------!
- ! 7 ! êïê ! ¬áªñδ⌐ ¿½¿ «íá í¿Γá αáó¡δ 1 !
- !------!-----------!--------------------------------------!
- ! 8 ! Hà ! «íá í¿Γá αáó¡δ 0 (ñ«»«½¡Ñ¡¿Ñ ñ« 1) !
- !______!___________!______________________________________!
-
- Há»α¿¼Ñα:
-
- (Boole 1 12 5)
-
- ºáñáÑΓ ½«ú¿τÑ߬«Ñ ê º¡áτÑ¡¿⌐ 12 ¿ 5. ÉѺπ½∞ΓáΓ 4. Å«ñ«í¡«:
-
- (Boole 6 6 5)
-
- ºáñáÑΓ ½«ú¿τÑ߬«Ñ ¿ß¬½ετáεΘÑÑ êïê º¡áτÑ¡¿⌐ 6 ¿ 5, ó«ºóαáΘá∩ 3.
-
- éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñαπú¿Ñ º¡áτÑ¡¿∩ <Σπ¡¬µ¿¿> ñ½∩ ºáñá¡¿∩ ñαπú¿σ
- üπ½Ñóδσ «»Ñαᵿ⌐, ¡Ñ ¿¼ÑεΘ¿σ ßΓá¡ñáαΓ¡δσ ¿¼Ñ¡. Há»α¿¼Ñα, Ñß½¿ <Σπ¡¬µ¿∩>
- ºáñá¡á τ¿ß½«¼ 4, αѺπ½∞Γ¿απεΘ¿⌐ í¿Γ ºáñáÑΓß∩, Ñß½¿ ß««ΓóÑΓßΓóπεΘ¿⌐ í¿Γ
- πßΓá¡«ó½Ñ¡ ó áαúπ¼Ñ¡ΓÑ <µÑ½«Ñ2>, á ¡Ñ ó <µÑ½«Ñ1>. Æá¬:
-
- (Boole 4 3 14)
-
- ó«ºóαáΓ¿Γ 12.
-
- 4.27 (boundp <áΓ«¼>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ - Æ, Ñß½¿ <áΓ«¼> ¿¼ÑÑΓ ¡Ñ¬«Γ«α«Ñ º¡áτÑ¡¿Ñ (ó
- Φ¿α«¬«¼ ß¼δß½Ñ). àß½¿ <áΓ«¼> ¡Ñ ¿¼ÑÑΓ ¡¿¬á¬«ú« º¡áτÑ¡¿∩, ¿½¿ αáóÑ¡ nil,
- ó«ºóαáΘáÑΓß∩ nil. Há»α¿¼Ñα, ñ«»πßΓ¿¼:
-
- (setq a 2)
- (setq b nil)
-
- Γ«úñá:
-
- (boundp 'a) ó«ºóαáΘáÑΓ T
- (boundp 'b) ó«ºóαáΘáÑΓ nil
-
- 4.28 caar, cadr, cddr, cadar, ¿ Γ.ñ.
-
- AutoLISP ß«ñÑαª¿Γ ßµÑ»½Ñ¡¿∩ Σπ¡¬µ¿⌐ CAR ¿ CDR, 󻽫Γ∞ ñ« 4 πα«ó¡∩
- ú½πí¿¡δ. Há»α¿¼Ñα, ñ«»πßΓ¿¼:
-
- (setq x '((a b) c d))
-
- Γ«úñá:
-
- (caar x) φ¬ó¿óá½Ñ¡Γ¡« (car (car x)) ó«ºóαáΘáÑΓ A
- (cdar x) φ¬ó¿óá½Ñ¡Γ¡« (cdr (car x)) ó«ºóαáΘáÑΓ (B)
- (cadar x) φ¬ó¿óá½Ñ¡Γ¡« (car (cdr (car x))) ó«ºóαáΘáÑΓ B
- (cadr x) φ¬ó¿óá½Ñ¡Γ¡« (car (cdr x)) ó«ºóαáΘáÑΓ C
- (cddr x) φ¬ó¿óá½Ñ¡Γ¡« (cdr (cdr x)) ó«ºóαáΘáÑΓ (D)
- (caddr x) φ¬ó¿óá½Ñ¡Γ¡« (car (cdr (cdr x))) ó«ºóαáΘáÑΓ D
-
-
-
-
- - 31 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- é AutoLISPÑ CADR τáßΓ« ¿ß»«½∞ºπÑΓß∩ ñ½∩ "¿ºó½ÑτÑ¡¿∩" ¬««αñ¿¡áΓδ
- Y 2-σ ¼Ñα¡«⌐ ¿ 3-σ ¼Ñα¡«⌐ Γ«τ¬¿ (óΓ«α«⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á, ß«ßΓ«∩ΘÑú« ¿º
- 2-σ ¿½¿ 3-σ ¡áΓπαá½∞¡δσ τ¿ßѽ). Æ«τ¡« ΓᬠªÑ CADDR ¿ß»«½∞ºπÑΓß∩ ñ½∩
- "¿ºó½ÑτÑ¡¿∩" ¬««αñ¿¡áΓδ Z 3-σ ¼Ñα¡«⌐ Γ«τ¬¿. Há»α¿¼Ñα, ñá¡«:
-
- (setq pt2 '(5.2 1.0)) (2-σ ¼Ñα¡á∩ Γ«τ¬á)
- (setq pt3 '(5.2 1.0 3.0)) (3-σ ¼Ñα¡á∩ Γ«τ¬á)
-
- Γ«úñá:
-
- (car pt2) ó«ºóαáΘáÑΓ 5.200000
- (cadr pt2) ó«ºóαáΘáÑΓ 1.000000
- (caddr pt2) ó«ºóαáΘáÑΓ nil
- (car pt3) ó«ºóαáΘáÑΓ 5.200000
- (cadr pt3) ó«ºóαáΘáÑΓ 1.000000
- (caddr pt3) ó«ºóαáΘáÑΓ 3.000000
-
- 4.29 (car <ᯨ᮪>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ <ß»¿ß¬á>. àß½¿ ß»¿ß«¬ »πßΓ,
- ó«ºóαáΘáÑΓß∩ nil. Há»α¿¼Ñα:
-
- (car '(a b c)) ó«ºóαáΘáÑΓ A
- (car '((a b) c)) ó«ºóαáΘáÑΓ (A B)
- (car '()) ó«ºóαáΘáÑΓ nil
-
-
- lsp-4-3
-
- 4.30 (cdr <ᯨ᮪> )
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ óßÑ φ½Ñ¼Ñ¡Γδ <ß»¿ß¬á>, ¬α«¼Ñ »Ñαó«ú«. àß½¿
- <ß»¿ß«¬> »πßΓ, ó«ºóαáΘáÑΓß∩ nil.
-
- (cdr '(a b c)) ó«ºóαáΘáÑΓ (B C)
- (cdr '((a b) c)) ó«ºóαáΘáÑΓ (C)
- (cdr '()) ó«ºóαáΘáÑΓ nil
-
- K«úñá áαúπ¼Ñ¡Γ«¼ <ß»¿ß¬á> ∩ó½∩ÑΓß∩ Γ«τÑτ¡á∩ »áαá (ß¼«Γα¿ΓÑ CONS, ¡¿ªÑ),
- CDR ó«ºóαáΘáÑΓ óΓ«α«⌐ φ½Ñ¼Ñ¡Γ, ¡Ñ ºá¬½ετá∩ Ñú« ó ß»¿ß«¬.
-
- (cdr '(a . b)) ó«ºóαáΘáÑΓ B
- (cdr '(1 . "Text")) ó«ºóαáΘáÑΓ "Text"
-
- 4.31 (chr <τ¿ß½«>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¡¿Ñ µÑ½«ú« τ¿ß½á ó ß¿¼ó«½∞¡δ⌐ ¬«ñ ASCII
- ¿ αѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá, (»«ñ«í¡δ¼ «íαẫ¼ ñÑ⌐ßΓóπÑΓ
- Σπ¡¬µ¿∩ CHR$ ó ∩φδ¬Ñ üÑ⌐ß¿¬). Há»α¿¼Ñα:
-
- (chr 65) ó«ºóαáΘáÑΓ "A"
- (chr 66) ó«ºóαáΘáÑΓ "B"
- (chr 97) ó«ºóαáΘáÑΓ "a"
-
-
-
-
-
- - 32 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 4.32 (close <«»¿ßáΓѽ∞ Σá⌐½á>)
-
- ¥Γá Σπ¡¬µ¿∩ ºá¬αδóáÑΓ Σá⌐½ ¿ ó«ºóαáΘáÑΓ nil. <Ä»¿ßáΓѽ∞ Σá⌐½á> ¿ºó½Ñ¬á-
- ÑΓß∩ ¿º Σπ¡¬µ¿¿ OPEN. Å«ß½Ñ óδ»«½¡Ñ¡¿∩ CLOSE «»¿ßáΓѽ∞ Σá⌐½á «ßΓáÑΓß∩
- ¡Ñ¿º¼Ñ¡¡δ¼, ¡« ñá½ÑÑ ¡Ññ«»πßΓ¿¼δ¼.
-
- Há»α¿¼Ñα, »αÑñ»«½«ª¿¼, τΓ« ò ñ«»πßΓ¿¼δ⌐ Σá⌐½«óδ⌐ «»¿ßáΓѽ∞ «Γ¬αδΓ«ú«
- Σá⌐½á,
-
- (close x)
-
- ºá¬α«ÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ Σá⌐½ ¿ ó«ºóαáΓ¿Γ nil.
-
- 4.33 (command <áαúπ¼Ñ¡Γ>...)
-
- ¥Γá Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓ ¬«¼á¡ñδ AutoCADá ó AutoLISPÑ ¿ óßÑúñá ó«ºóαáΘáÑΓ
- nil. Çαúπ¼Ñ¡Γδ »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¼á¡ñδ AutoCADá ¿ ¿σ »«ñ¬«¼á¡ñδ;
- ¬áªñδ⌐ áαúπ¼Ñ¡Γ óδτ¿ß½∩ÑΓß∩ ¿ »«ßδ½áÑΓß∩ ó AutoCAD, ¬á¬ «ΓóÑΓ ¡á ß««ΓóÑΓ-
- ßΓóπεΘ¿⌐ ºá»α«ß. K«¼á¡ñ¡δÑ ¿¼Ñ¡á ¿ «»µ¿¿ »αÑñßΓáó½∩εΓß∩ ¬á¬ ßΓ᫬«óδÑ
- ¬«¡ßΓá¡Γδ, 2-σ ¼Ñα¡δÑ Γ«τ¬¿ - ¬á¬ ß»¿ß¬¿ ¿º 2-σ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ, ¿
- 3-σ ¼Ñα¡δÑ Γ«τ¬¿ - ¬á¬ ß»¿ß¬¿ ¿º 3-σ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ. K«¼á¡ñ¡δÑ
- ¿¼Ñ¡á ó«ß»α¿¡¿¼áεΓß∩ AutoCAD«¼ Γ«½∞¬« »«ß½Ñ »«ñ߬Ậ¿ "Command:"
- /¬«¼á¡ñá:/.
- Há»α¿¼Ñα:
-
- (setq pt1 '(1.45 3.23))
- (setq pt2 (getpoint "Enter a point: "))
- (command "line" pt1 pt2)
- (command "")
-
- àß½¿ ñ«»πßΓ¿Γ∞, τΓ« »«ñ߬Ậá "Command:" ßπΘÑßΓóπÑΓ, Γ« ºá»¿ßá¡¡δÑ óδΦÑ
- óδαáªÑ¡¿∩ πßΓá¡áó½¿óáεΓ º¡áτÑ¡¿∩ ñ½∩ Γ«τ¬¿ "pt1", ºá»αáΦ¿óáεΓ π éáß Γ«τ¬π
- "pt2" ¿ óδ»«½¡∩εΓ ¬«¼á¡ñπ AutoCADá LINE »« ñóπ¼ ºáñá¡¡δ¼ Γ«τ¬á¼.
- Çαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ COMMAND ¼«úπΓ íδΓ∞ ßΓ᫬«ó묨 ¬«¡ßΓá¡ΓἿ,
- ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ τ¿ß½á¼¿, µÑ½δ¼¿ ¿½¿ Γ«τ¬á¼¿, Γ« ÑßΓ∞ Γᬿ¼¿, ¬á¬¿Ñ
- «ª¿ñáÑΓ »«½πτ¿Γ∞ «Γ éáß óδ»«½¡∩Ѽá∩ ¬«¼á¡ñá ó «ΓóÑΓ ¡á ÑÑ ºá»α«ßδ. ÅπßΓá∩
- ßΓ᫬á ("") αáó¡«ß¿½∞¡á ¡áªáΓ¿ε »α«íÑ½á ¡á ¬½áó¿áΓπαÑ. é맮ó COMMAND íѺ
- áαúπ¼Ñ¡Γá αáó¡«ß¿½Ñ¡ ¡áªáΓ¿ε CTRL C ¡á ¬½áó¿áΓπαÑ, ¿ »αÑαδóáÑΓ í«½∞Φ¿¡-
- ßΓó« ¬«¼á¡ñ AutoCADá.
-
- K«¼á¡ñδ, óδ»«½¡∩ѼδÑ Σπ¡¬µ¿Ñ⌐ COMMAND ¡Ñ ¿¼ÑÑεΓ φσá ¡á φ¬αá¡Ñ, Ñß½¿
- »ÑαѼѡ¡á∩ AutoCADá CMDECHO (ñ«ßΓπ»¡á ¿º Σπ¡¬µ¿⌐ SETVAR ¿ GETVAR )
- πßΓá¡«ó½Ñ¡á αáó¡«⌐ ¡π½ε. öπ¡¬µ¿∩ COMMAND - «ß¡«ó¡«⌐ ¼ÑΓ«ñ ñ«ßΓπ»á ¿º
- AutoLISPá ¬ ¬«¼á¡ñá¼ AutoCADá.
-
- ==================================================================
-
- éó«ñ¿¼δÑ »«½∞º«óáΓѽѼ Σπ¡¬µ¿¿ "GETxxx" (GETANGLE,GETSTRING,
- GETINT,GETPOINT ¿ Γ.ñ.) ¡Ñ ¼«úπΓ íδΓ∞ 󽫪ѡ¡δ¼¿
- ó Σπ¡¬µ¿¿ COMMAND. Å«»δΓ¬á ßñѽáΓ∞ φΓ« ó맮óÑΓ ß««íΘÑ¡¿Ñ
- "error: AutoCAD rejected function" («Φ¿í¬á: ¡ÑóÑα¡á∩ ¬«¼á¡ñá
- AutoCADá) ¿ ó맮óÑΓ áóáα¿⌐¡δ⌐ «ßΓá¡«ó óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿.
- Åα¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿, ºáñáóá⌐ΓÑ Σπ¡¬µ¿¿ GETxxx ºáαá¡ÑÑ ¿½¿
- »«¼ÑΘá⌐ΓÑ ¿σ ¼Ñªñπ ߼Ѫ¡δ¼¿ Σπ¡¬µ¿∩¼¿ COMMAND.
-
- K«¼á¡ñδ AutoCADá DTEXT ¿ SKETCH ßτ¿ΓδóáεΓ ¿¡Σ«α¼áµ¿ε
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ß ¬½áó¿áΓπαδ ¿ ñ¿ú¿Γá⌐ºÑαá ¿ »«φΓ«¼π ¡Ñ ¼«úπΓ
-
-
-
-
- - 33 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ¿ß»«½∞º«óáΓ∞ß∩ ß Σπ¡¬µ¿Ñ⌐ AutoLISP COMMAND. Æá¬ªÑ ¡Ñ½∞º∩
- ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε COMMAND ñ½∩ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñ PLOT,
- PRPLOT ¿½¿ SCRIPT.
-
- ==================================================================
-
- ÅαÑαδóá¡¿Ñ ñ½∩ óó«ñá ¿¡Σ«α¼áµ¿¿ »«½∞º«óáΓѽѼ
-
- àß½¿ óδ»«½¡∩ÑΓß∩ ¬«¼á¡ñá AutoCADá ¿ ó ßΓα«¬Ñ áαúπ¼Ñ¡Γ«ó óßΓαÑτáÑΓß∩
- ß¿¼ó«½ PAUSE, Γ« Σπ¡¬µ¿∩ COMMAND »α¿«ßΓá¡«ó¿Γ ßó«Ñ ñÑ⌐ßΓó¿Ñ, τΓ«íδ
- »«½∞º«óáΓѽ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡ óóѽ º¡áτÑ¡¿Ñ (¿½¿ »α«¿ºóѽ «Γ߽Ѫ¿óá¡¿Ñ
- φ½Ñ¼Ñ¡Γá τÑαΓѪá). ¥Γ« »«σ«ªÑ ¡á ¼Ñσá¡¿º¼ »áπºδ (ß »«¼«Θ∞ε backslash "\"),
- ßπΘÑßΓóπεΘ¿⌐ ñ½∩ ¼Ñ¡ε.
-
- àß½¿ óδ ¿ß»«½∞ºπÑΓÑ "»α«ºαáτ¡πε" ¬«¼á¡ñπ ó ¼«¼Ñ¡Γ »α¿«ßΓá¡«óá
- Σπ¡¬µ¿¿ COMMAND, Σπ¡¬µ¿∩ COMMAND «ßΓáÑΓß∩ ó ß«ßΓ«∩¡¿¿ »áπºδ ñ« ºáóÑ-
- αΦÑ¡¿∩ "»α«ºαáτ¡«⌐" ¬«¼á¡ñδ, »«ß½Ñ τÑú« óÑα¡ÑΓß∩ ¬ ¡«α¼á½∞¡«¼π óδ»«½-
- ¡Ñ¡¿ε. Æá¬¿¼ «íαẫ¼ óδ ¼«ªÑΓÑ ó »Ñα¿«ñ »áπºδ Σπ¡¬µ¿¿ COMMAND ¿ß»«½∞-
- º«óáΓ∞ ¬«¼á¡ñδ 'ZOOM' ¿ 'PAN' ¿½¿ ½εíδÑ ¡Ñ«íσ«ñ¿¼δÑ éá¼ "»α«ºαáτ¡δÑ"
- ¬«¼á¡ñδ. Åáπºá íπñÑ »α«ñ«½ªáΓ∞ß∩ ñ« ΓÑσ »«α, »«¬á ¡Ñ íπñÑΓ óóÑñÑ¡
- ¿¼ÑεΘ¿⌐ ß¿½π áαúπ¼Ñ¡Γ ¿ »«¬á ¡Ñ óδ»«½¡∩Γ∞ß∩ óßÑ "»α«ºαáτ¡δÑ" ¬«¼á¡ñδ.
- Há»α¿¼Ñα:
-
- (command "circle" "5,5" pause "line" "5,5" "7,5" "")
-
- ¡áτ¿¡áÑΓß∩ ¬«¼á¡ñá CIRCLE, πßΓá¡áó½¿óáεΘá∩ µÑ¡Γα ¬απúá ó Γ«τ¬π 5,5, ¿
- ºáΓѼ »αÑαδóÑΓß∩, ñáóá∩ 󫺼«ª¡«ßΓ∞ »«½∞º«óáΓÑ½ε ºáñáΓ∞ αáñ¿πß ¬απúá,
- ¡á»α¿¼Ñα, ¼ÑΓ«ñ«¼ ߽Ѫѡ¿∩. Å«ß½Ñ Γ«ú« ¬á¬ »«½∞º«óáΓѽ∞ π¬áªÑΓ ªÑ½áѼπε
- Γ«τ¬π ¿½¿ ¡áíÑαÑΓ ß ¬½áó¿áΓπαδ ªÑ½áѼδ⌐ αáñ¿πß, Σπ¡¬µ¿∩ ó«ºóαáΓ¿Γß∩ ¬
- ßó«Ñ¼π ¡«α¼á½∞¡«¼π óδ»«½¡Ñ¡¿ε ¿ ¿º«íαáº¿Γ «ΓαѺ«¬ ¿º Γ«τ¬¿ 5,5 ó Γ«τ¬π
- 7,5.
-
- éó«ñ ß »«¼«Θ∞ε ¼Ñ¡ε ¡Ñ ¿ß¬½ετáÑΓß∩ »áπº«⌐ AutoLISPá. àß½¿
- á¬Γ¿ó¿º¿α«óá¡« ¼Ñ¡ε ¿ Σπ¡¬µ¿∩ COMMAND ΓαÑíπÑΓ óó«ñá, ¡áσ«ñ∩ß∞ ó »áπºÑ,
- ºá»α«ß ¼«ªÑΓ íδΓ∞ πñ«ó½ÑΓó«αÑ¡ ß »«¼«Θ∞ε ¼Ñ¡ε. àß½¿ óδ σ«Γ¿ΓÑ ΓᬪÑ
- »α¿«ßΓá¡«ó¿Γ∞ ñÑ⌐ßΓó¿Ñ ¼Ñ¡ε, ó ¼Ñ¡ε ß½ÑñπÑΓ »αÑñπß¼«ΓαÑΓ∞ backslash.
- K«úñá íπñÑΓ ñá¡ ¿¼ÑεΘ¿⌐ ß¿½π «ΓóÑΓ, ¿ Σπ¡¬µ¿∩ COMMAND ¿ Σπ¡¬µ¿∩ ¼Ñ¡ε
- ó«º«í¡«ó∩Γ ßó«ε αáí«Γπ.
-
- çÇîàùÇHêƒ:
-
- 1. æ¿¼ó«½ PAUSE ∩ó½∩ÑΓß∩ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐ ß« º¡áτÑ¡¿Ñ¼ backslash.
- éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ backslash ¡Ñ»«ßαÑñßΓóÑ¡¡« ó¼ÑßΓ« ß¿¼ó«½á
- PAUSE, «ñ¡á¬« Ñß½¿ Σπ¡¬µ¿∩ COMMAND ¿ß»«½ºπÑΓß∩ ¬á¬ φ½Ñ¼Ñ¡Γ ¼Ñ¡ε,
- Γ« backslash íπñÑΓ ó«ß»α¿¡¿¼áΓ∞ß∩ ¡Ñ ¬á¬ áαúπ¼Ñ¡Γ Σπ¡¬µ¿¿ COMMAND,
- ¡« ¬á¬ «»µ¿∩ φ½Ñ¼Ñ¡Γá ¼Ñ¡ε, ¬«Γ«αδ⌐ óδ»«½¡∩ÑΓß∩ ó ΓѬπΘ¿⌐ ¼«¼Ñ¡Γ.
- Kα«¼Ñ Γ«ú« ¼Ñσá¡¿º¼ »αÑαδóá¡¿∩ ¼«ªÑΓ ºá»αáΦ¿óáΓ∞ αẽ¿τ¡δÑ
- π»αáó½∩εΘ¿Ñ º¡áτÑ¡¿∩ ó »«ß½ÑñπεΘ¿σ óÑαß¿∩σ AutoLISPá, »«φΓ«¼π ¼δ
- αѬ«¼Ñ¡ñπѼ ó« óßÑσ ß½πτá∩σ »«½∞º«óáΓ∞ß∩ ß¿¼ó«½«¼ PAUSE ó¼ÑßΓ«
- backslash.
-
- 2. àß½¿ PAUSE óßΓαÑτáÑΓß∩ ó ¬«¼á¡ñÑ, ΓαÑíπεΘÑ⌐ óó«ñá ΓѬßΓá ¿½¿
- º¡áτÑ¡¿∩ ÇΓα¿íπΓá, AutoCAD »αÑαóÑΓß∩ ñ½∩ óó«ñá Γ«½∞¬« Ñß½¿ º¡áτÑ¡¿Ñ
- ß¿ßΓѼ¡«⌐ »ÑαѼѡ¡«⌐ TEXTEVAL ¡Ñ αáó¡« ¡π½ε. é»α«Γ¿ó¡«¼ ß½πτáÑ
- º¡áτÑ¡¿Ñ ß¿¼ó«½á PAUSE - backslash íπñÑΓ ó«ß»α¿¡∩Γ« ¬á¬ ΓѬßΓ ¿
- »αÑαδóá¡¿∩ ñ½∩ óó«ñá ¡Ñ »α«¿º«⌐ñÑΓ.
-
-
-
-
- - 34 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- 3. K«úñá óδ»«½¡Ñ¡¿Ñ Σπ¡¬µ¿¿ COMMAND »αÑαóá¡« ñ½∩ óó«ñá, Σπ¡¬µ¿∩
- ¡áσ«ñ¿Γß∩ ó ß«ßΓ«∩¡¿¿ "active" /¡á óδ»«½¡Ñ¡¿¿/, »«φΓ«¼π »«½∞º«óá-
- Γѽ∞ ¡Ñ ¼«ªÑΓ óó«ñ¿Γ∞ ñ½∩ óδ»«½¡Ñ¡¿∩ ñαπú¿Ñ óδαáªÑ¡¿∩ AutoLISPá.
-
- 4.34 (cond (<ΓÑßΓ1> <αѺπ½∞ΓáΓ>...)...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ß»α¿¡¿¼áÑΓ ½εí«Ñ τ¿ß½« ß»¿ß¬«ó ¬á¬ áαúπ¼Ñ¡Γδ. Ä¡á
- «µÑ¡¿óáÑΓ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á (»« «τÑαÑñ¿) ñ« ΓÑσ »«α, »«¬á ¡Ñ
- óßΓαÑΓ¿Γß∩ «Γ½¿τ¡δ⌐ «Γ nil. çáΓѼ óδτ¿ß½∩ÑΓß∩ Γ« óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ
- ß½ÑñπÑΓ ºá ΓÑßΓ«¼ ¿ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »«ß½Ññ¡Ñú« óδαáªÑ¡¿∩ ó »«ñß»¿ß¬Ñ.
- àß½¿ ó »«ñß»¿ß¬Ñ Γ«½∞¬« «ñ¡« óδαáªÑ¡¿Ñ (¡á»α¿¼Ñα, <αѺπ½∞ΓáΓ>
- «ΓßπΓßΓóπÑΓ), ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ óδαáªÑ¡¿∩ <ΓÑßΓ>. COND - «ß¡«ó¡á∩
- Σπ¡¬µ¿∩ πß½«ó¿∩ ó AutoLISPÑ.
-
- Há»α¿¼Ñα, ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿ COND ñ½∩ óδτ¿ß½Ñ¡¿∩ áíß«½εΓ¡«ú« º¡áτÑ¡¿∩
- τ¿ß½á:
-
- (cond ((minusp a) (- a))
- (t a)
- )
-
- àß½¿ ó "á" í佫 πßΓá¡«ó½Ñ¡¡« º¡áτÑ¡¿Ñ -10, íπñÑΓ ó«ºóαáΘÑ¡« 10. Ká¬
- ó¿ñ¡«, COND ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ¬á¬ Σπ¡¬µ¿∩ Γ¿»á "case" /ó ß½πτáÑ.../.
- Åα¿¡∩Γ« ó ¬áτÑßΓóÑ »«ß½Ññ¡Ñú« (»«-π¼«½τá¡¿ε) óδαáªÑ¡¿∩ <ΓÑßΓ> ¿ß»«½∞-
- º«óáΓ∞ ß¿¼ó«½ T. àΘÑ «ñ¿¡ »α«ßΓ«⌐ »α¿¼Ñα. çáñáóá∩ ºá»α«ß »«½∞º«óáΓѽ∩
- ó ß¿¼ó«½ "s", φΓá Σπ¡¬µ¿∩ »α«óÑα∩ÑΓ «ΓóÑΓ ¿ ó«ºóαáΘáÑΓ 1, Ñß½¿ «ΓóÑΓ "
- Y" ¿½¿ "y", á Ñß½¿ «ΓóÑΓ "N" ¿½¿ "n", Γ« 0, ¿¡áτÑ nil.
-
- (cond ((= s "Y") 1)
- ((= s "y") 1)
- ((= s "N") 0)
- ((= s "n") 0)
- (t nil)
- )
-
- 4.35 (CONS <¡«óδ⌐ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ> <ß»¿ß«¬>)
-
- ¥Γ« «ß¡«ó¡«⌐ ¬«¡ßΓαπ¬Γ«α ß»¿ß¬á. ¥Γá Σπ¡¬µ¿∩ íÑαÑΓ φ½Ñ¼Ñ¡Γ (<¡«óδ⌐
- »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ>) ¿ <ß»¿ß«¬>, ¿ ó«ºóαáΘáÑΓ ß»¿ß«¬ ß ñ«íáó½Ñ¡¡δ¼ φ½Ñ¼Ñ¡Γ«¼
- ó ¡áτὫ ß»¿ß¬á. Há»α¿¼Ñα:
-
- (cons 'a '(b c d)) ó«ºóαáΘáÑΓ (A B C D)
- (cons '(a) '(b c d)) ó«ºóαáΘáÑΓ ((A) B C D)
-
- çá¼ÑΓ¿¼, τΓ« »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ¼«ªÑΓ íδΓ∞ áΓ«¼«¼ ¿½¿ ß»¿ß¬«¼.
-
- CONS ΓᬠªÑ ó«ß»α¿¡¿¼áÑΓ áΓ«¼ ¡á ¼ÑßΓÑ áαúπ¼Ñ¡Γá <ß»¿ß¬á>, ¬«¡ßΓαπ¿απ∩
- ßΓαπ¬Γπαπ, ¿ºóÑßΓ¡πε ¬á¬ Γ«τÑτ¡á∩ »áαá. Å«¬áºδóá∩ Γ«τÑτ¡πε »áαπ ¡á φ¬αá¡Ñ,
- AutoLISP »ÑτáΓáÑΓ Γ«τ¬π ¼Ñªñπ »Ñαóδ¼ ¿ óΓ«αδ¼ φ½Ñ¼Ñ¡ΓἿ. Æ«τÑτ¡δÑ »áαδ
- ºá¡¿¼áεΓ ¼Ñ¡∞ΦÑ ¼ÑßΓá ó »á¼∩Γ¿, τѼ «íδτ¡δÑ ß»¿ß¬¿ ¿ ¼«ª¡« ¿ß»«½∞º«óáΓ∞
- Σπ¡¬µ¿ε CDR ñ½∩ ¿ºó½ÑτÑ¡¿∩ óΓ«α«ú« áΓ«¼á.
-
- (cons 'a 'b) ó«ºóαáΘáÑΓ (A . B)
- (car (cons 'a 'b)) ó«ºóαáΘáÑΓ A
- (cdr (cons 'a 'b)) ó«ºóαáΘáÑΓ B
-
-
-
-
- - 35 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- 4.36 (cos <πú«½>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¬«ß¿¡πß <πú½á>, úñÑ <πú«½> - óδαáªáÑß∩ ó
- αáñ¿á¡áσ. Há»α¿¼Ñα:
-
- (cos 0.0) ó«ºóαáΘáÑΓ 1.000000
- (cos pi) ó«ºóαáΘáÑΓ -1.000000
-
- 4.37 (defun <ß¿¼ó«½> <ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó> <óδαáªÑ¡¿Ñ>...)
-
- DEFIN - «»αÑñѽ∩ÑΓ Σπ¡¬µ¿ε ß ¿¼Ñ¡Ñ¼ <ß¿¼ó«½> (ºá¼ÑΓ¿¼, τΓ« ¿¼∩
- Σπ¡¬µ¿¿ áóΓ«¼áΓ¿τÑ߬¿ íÑαÑΓß∩ ó ¬áóδτ¬¿ ¿ »«φΓ«¼π ¡Ñ ΓαÑíπÑΓß∩ φΓ«ú«
- ñѽáΓ∞ ßἫ¼π). ê¼∩, ß½ÑñπεΘÑÑ ºá Σπ¡¬µ¿Ñ⌐ - φΓ« ß»¿ß¿«¬ áαúπ¼Ñ¡Γ«ó
- (󫺼«ª¡« »πßΓ«⌐), ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ (Σá¬π½∞ΓáΓ¿ó¡«) ¬«ßá∩ τÑαΓá (slach)
- ¿ ¿¼Ñ¡á «ñ¡«ú« ¿½¿ í«½ÑÑ ½«¬á½∞¡δσ ß¿¼ó«½«ó Σπ¡¬µ¿¿. K«ßá∩ τÑαΓá ñ«½ª¡á
- «ΓßΓ«∩Γ∞ «Γ »Ñαó«ú« ½«¬á½∞¡«ú« ß¿¼ó«½á ¿ »«ß½Ññ¡Ñú« áαúπ¼Ñ¡Γá, Ñß½¿ «¡
- ÑßΓ∞, σ«Γ∩ íδ ¡á «ñ¿¡ »α«íѽ. àß½¿ ¡ÑΓ áαúπ¼Ñ¡Γ«ó ¿ ½«¬á½∞¡δσ ß¿¼ó«½«ó,
- ¬«Γ«αδÑ ß½ÑñπÑΓ «í'∩ó½∩Γ∞, ºá ¿¼Ñ¡Ñ¼ Σπ¡¬µ¿¿ ß½ÑñπÑΓ »«ßΓáó¿Γ∞ »πßΓδÑ
- ߬«í¬¿. Há»α¿¼Ñα:
-
- (defun myfunc (x y) ... ) (Σπ¡¬µ¿∩ íÑαÑΓ ñóá áαúπ¼Ñ¡Γá)
- (defun myfunc (/ a d) ... ) (Σπ¡¬µ¿∩ ¿¼ÑÑΓ ñóá ½«¬á½∞¡δσ ß¿¼ó«½á)
- (defun myfunc (x / temp) ... ) («ñ¿¡ áαúπ¼Ñ¡Γ ¿ «ñ¿¡ ½«¬á½∞¡δ⌐ ß¿¼ó«½)
- (defun myfunc () ... ) (íѺ áαúπ¼Ñ¡Γ«ó ¿ ½«¬á½∞¡δσ ß¿¼ó«½«ó)
-
- çá ß»¿ß¬«¼ áαúπ¼Ñ¡Γ«ó ¿ ½«¬á½∞¡δσ ß¿¼ó«½«ó ß½ÑñπÑΓ «ñ¡« ¿½¿ í«½ÑÑ
- óδαáªÑ¡¿⌐, ¬«Γ«αδÑ óδτ¿ß½∩εΓß∩ ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿.
-
- æá¼á »« ßÑíÑ Σπ¡¬µ¿∩ DEFUN ó«ºóαáΘáÑΓ ¿¼∩ «»αÑñѽ∩Ѽ«⌐ Σπ¡¬µ¿¿.
- K«úñá Σπ¡¬µ¿∩, «»αÑñѽѡ¡á∩ Γᬿ¼ «íαẫ¼ óδºδóáÑΓß∩, ÑÑ áαúπ¼Ñ¡Γδ
- óδτ¿ß½∩εΓß∩ ¿ ßó∩ºδóáεΓß∩ ó ß»¿ß«¬ áαúπ¼Ñ¡Γ«ó. 﫬á½∞¡δÑ ß¿¼ó«½δ ¼«úπΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ó¡πΓα¿ Σπ¡¬µ¿¿ íѺ ¿º¼Ñ¡Ñ¡¿∩ ¼σ ßó∩º¿ ¡á ó¡ÑΦ¡¿σ πα«ó¡∩σ.
- öπ¡¬µ¿∩ íπñÑΓ ó«ºóαáΘáΓ∞ αѺπ½∞ΓáΓ »«ß½Ññ¡Ñú« óδτ¿ß½Ñ¡¡«ú« óδαáªÑ¡¿∩.
- éßÑ »αÑñδñπΘ¿Ñ óδαáªÑ¡¿∩ íπñπΓ ¿¼ÑΓ∞ Γ«½∞¬« »«í«τ¡δ⌐ φΣΣѬΓ.
- æá¼á »« ßÑíÑ Σπ¡¬µ¿∩ DEFUN ó«ºóαáΘáÑΓ Γ«½∞¬« ¿¼∩ «»αÑñѽ∩Ѽ«⌐ Σπ¡¬µ¿¿.
- Há»α¿¼Ñα:
-
- (defun add10 (x)
- (+ 10 x)
- ) ó«ºóαáΘáÑΓ ADD10
- (add10 5) ó«ºóαáΘáÑΓ 15
- (add10 -7.4) ó«ºóαáΘáÑΓ 2.60000
-
- ¿:
-
- (defun dots (x y / temp)
- (setq temp (strcat x "..."))
- (strcat temp y)
- ) ó«ºóαáΘáÑΓ DOTS
- (dots "a" "b") ó«ºóαáΘáÑΓ "a...b"
- (dots "from" "to") ó«ºóαáΘáÑΓ "from...to"
-
- =================================================================
-
-
-
-
-
- - 36 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- H¿¬«úñá ¡Ñ ¿ß»«½∞ºπ⌐ΓÑ ¿¼Ñ¡á óßΓα«Ñ¡¡δσ Σπ¡¬µ¿⌐ ¿½¿ ß¿¼ó«½«ó ¬á¬
- <c¿¼ó«½>, Γᬠ¬á¬ φΓ« ßñѽáÑΓ ¡Ññ«ßΓπ»¡δ¼¿ óßΓα«Ñ¡¡δÑ Σπ¡¬µ¿¿.
-
- =================================================================
-
- 4.37.1 ü¿í½¿«ΓѬá ß¿¼ó«½«ó ¿ ÇóΓ«¼áΓ¿τÑ߬á∩ ºáúαπº¬á.
-
- Ä»αÑñѽѡ¿∩ Σπ¡¬µ¿⌐ ¼«úπΓ σαá¡¿Γ∞ß∩ ó Σá⌐½áσ ¿ ºáúαπªáΓ∞ß∩ ¿ß»«½∞ºπ∩
- Σπ¡¬µ¿ε LOAD ó AutoLISPe, «»¿ßá¡¡πε ¡¿ªÑ. àß½¿ ßπΘÑßΓóπÑΓ Σá⌐½
- "acad.lsp", Γ« AutoLISP ºáúαπº¿Γ ¿σ áóΓ«¼áΓ¿τÑ߬¿ ¬áªñδ⌐ αẠ¬«úñá íπñÑΓ
- óóÑñÑ¡ ùÑαΓѪ¡δ⌐ αÑñá¬Γ«α AutoCADa. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ φΓ«
- «íßΓ«∩Γѽ∞ßΓó« ñ½∩ ß«ºñá¡¿∩ í¿í½¿«ΓѬ¿ ¿ß»«½∞ºπѼδσ Σπ¡¬µ¿⌐ ¿ íδΓ∞
- πóÑαÑ¡¡δ¼, τΓ« «¡¿ óßÑúñá »«ñ απ¬«⌐, ¬«úñá »«¡áñ«í∩Γ∞ß∩.
-
- ïεí«⌐ í¿í½¿«ΓÑτ¡δ⌐ ".lsp" Σá⌐½ ¼«ªÑΓ ß«ñÑαªáΓ∞ óδαáªÑ¡¿∩ ó¡Ñ Σπ¡¬µ¿¿
- DEFUN. Æá¬¿¼ «íαẫ¼, ºáúαπªá∩ Σá⌐½, óδτ¿ß½∩εΘ¿⌐ ¡Ñ¬«Γ«αδÑ óδαáªÑ¡¿∩,
- ó¬½ετá∩ ¿¼Ñ¡«óá¡¡δÑ Σπ¡¬µ¿¿, éδ ¼«ªÑΓÑ óδ»«½¡∩Γ∞ φΓ¿ óδαáªÑ¡¿∩ ¿ Σπ¡¬µ¿¿
- áóΓ«¼áΓ¿τÑ߬¿, ¬«úñá íδ φëà Σá⌐½ ¡Ñíδ½ ºáúαπªÑ¡. Äñ¡á¬«, ºáúαπº¬á Σá⌐½á
- "acad.lsp" »α«¿ºó«ñ¿Γß∩ ÑΘÑ ñ« »«½¡«⌐ ¿¡¿µ¿á½¿ºáµ¿¿ ùÑαΓѪ¡«ú« ÉÑñá¬Γ«αá
- AutoCADá, »«φΓ«¼π ¡Ñ ß½ÑñπÑΓ ¿ß»½∞º«óáΓ∞ Σπ¡¬µ¿¿ COMMAND ó Σá⌐½Ñ
- "acad.lsp" (ó¡Ñ Σπ¡¬µ¿¿ DEFUN).
-
- 4.37.2 æ:òòò Σπ¡¬µ¿¿ - ä«íáó½Ñ¡¿Ñ K«¼á¡ñ ó AutoCAD.
-
- éδ ¼«ªÑΓÑ ñ«íáó¿Γ∞ ¡«óδÑ ¬«¼á¡ñδ ó AutoCAD, ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε DEFUN
- τΓ«íδ «»αÑñѽ¿Γ∞ φΓ¿ ¬«¼á¡ñδ ¬á Σπ¡¬µ¿¿. ä½∩ Γ«ú« τΓ«íδ ¿¼¿ »«½∞º«óáΓ∞ß∩
- ¬á¬ ¬«¼á¡ñἿ AutoCADá, Γá¬¿Ñ Σπ¡¬µ¿¿ ñ«½ª¡δ πñ«ó½ÑΓó«α∩Γ∞ ß½ÑñπεΘ¿¼
- »αáó¿½á¼:
-
- 1. ê¼∩ Σπ¡¬µ¿¿ ñ«½ª¡« íδΓ∞ Σ«α¼δ "æ:òòò", úñÑ óßÑ íπ¬óδ - ºáú½áó¡δÑ.
- ùáßΓ∞ ¿¼Ñ¡¿ "æ:" ñ«½ª¡á óßÑúñá »α¿ßπΓßΓó«óáΓ∞; τáßΓ∞ ¿¼Ñ¡¿ "òòò" ¼«ªÑΓ
- íδΓ∞ ½εíδ¼ ¿¼Ñ¡Ñ¼ ¬«¼á¡ñδ ¡á óáΦ óδí«α, Γ«½∞¬« ¡Ñ ñ«½ª¡δá ñπí½¿α«óáΓ∞
- ¬á¬πε-½¿í« ¬«¼á¡ñπ AutoCADa, ó¡ÑΦ¡εε ¿½¿ óßΓα«Ñ¡¡πε Σπ¡¬µ¿ε.
-
- 2. öπ¡¬µ¿∩ ñ«½ª¡á íδΓ∞ «»αÑñѽѡá íѺ áαúπ¼Ñ¡Γ«ó - »πßΓ«⌐ ß»¿ß«¬
- (σ«Γ∩ ½«¬á½∞¡δÑ ß¿¼ó«½δ ñ«»π߬áεΓß∩).
-
- Há»α¿¼Ñα, ß½ÑñπεΘá∩ ºá»¿ß∞ «»αÑñѽ∩ÑΓ Σπ¡¬µ¿ε, ¿º«íαáªáεΘπε ¡á φ¬αá¡Ñ
- ¬óáñαáΓ ß »«¼«Θ∞ε Å«½¿½¿¡¿¿:
-
- (defun C:PSQUARE (/ pt1 pt2 pt3 pt4 len)
- (setq pt1 (getpoint "Lower left corner: ")) /H¿ª¡¿⌐ ½Ñóδ⌐ πú«½: /
- (setq len (getdist pt1 "Length of one side: ")) /使¡á ßΓ«α«¡δ: /
- (setq pt2 (polar pt1 0.0 len))
- (setq pt3 (polar pt2 (/ PI 2.0) len))
- (setq pt4 (polar pt3 PI len))
- (command "PLINE" pt1 pt2 pt3 pt4 "C")
- )
-
- öπ¡¬µ¿¿ «»αÑñѽѡ¡δÑ Γᬿ¼ «íαẫ¼ ¼«úπΓ óδºδóáΓ∞ß∩ »α«ßΓδ¼ óó«ñ«¼
- "òòò" τáßΓ¿ ¿¼Ñ¡¿ Σπ¡¬µ¿¿, ¬«úñá »«∩󿽫ß∞ ß««íΘÑ¡¿Ñ AutoCADa "Command:".
- àß½¿ "òòò" ¡Ñ ∩ó½∩ÑΓß∩ ¿ºóÑßΓ¡«⌐ ¬«¼á¡ñ«⌐, AutoCAD »δΓáÑΓß∩ óδºóáΓ∞
- Σπ¡¬µ¿ε AutoLISPa "C:XXX" íѺ »áαá¼ÑΓα«ó. ä½∩ »α¿óÑñÑ¡¡«⌐ óδΦÑ Σπ¡¬µ¿¿
- C:PSQUARE ñ¿á½«ú íπñÑΓ Γᬿ¼:
-
- Command: PSQUARE
- Lower left corner: (óó«ñ Γ«τ¬¿)
-
-
-
-
- - 37 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Length of one side: (óó«ñ αáßΓ«∩¡¿∩)
-
- Å«ß½Ñ τÑú« Σπ¡¬µ¿∩ ó맮óÑΓ ¬«¼á¡ñπ AutoCADá PLINE ¿ «ΓóÑΓ¿Γ ¡á ÑÑ ºá»α«ßδ
- ñ½∩ óδτÑατ¿óá¡¿∩ ºáñá¡¡«ú« ¬óáñαáΓá.
-
- ä«íáó½Ñ¡¿Ñ ¬«¼á¡ñ ¬ AutoCADπ Γᬿ¼ «íαẫ¼ - «τÑ¡∞ ¼«Θ¡«Ñ ßαÑñßΓó«
- AutoLISPa. Äñ¡áªñδ «»αÑñѽѡ¡á∩, ¡«óá∩ ¬«¼á¡ñá ¼«ªÑΓ »«½∞º«óáΓ∞ß∩ óßѼ¿
- 󫺼«ª¡«ßΓ∩¼¿ AutoLISPa. öá¬Γ¿τÑ߬¿ ¿ß»«½∞º«óá¡¿Ñ ¡«ó«⌐ ¬«¼á¡ñδ ¡Ñ
- ΓαÑíπÑΓ ºá¬½ετáΓ∞ ¿¼∩ ¬«¼á¡ñδ ó ߬«í¬¿, ΓᬠτΓ« ¬«¼á¡ñδ, ¬«Γ«α묨
- «»Ñα¿απÑΓ AutoLISP ¿ß»«½∞ºπεΓß∩ ΓᬠªÑ ¬á¬ ½εíδÑ ñαπú¿Ñ ¬«¼á¡ñδ AutoCADa.
-
- 4.38 (distance <Γ«τ¬á1> <Γ«τ¬á2>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ αáßßΓ«∩¡¿Ñ ¼Ñªñπ 2-σ ¼Ñα¡δ¼¿ Γ«τ¬á¼¿
- <Γ«τ¬á1> <Γ«τ¬á2>, úñÑ 2-σ ¼Ñα¡á∩ Γ«τ¬á - φΓ« ß»¿ß«¬ ñóπσ ñÑ⌐ßΓó¿Γѽ∞¡δσ
- τ¿ßѽ. Há»α¿¼Ñα:
-
- (distance '(1.2 2.5) '(7.7 2.5)) ó«ºóαáΘáÑΓ 6.700000
- (distance '(1.0 2.0) '(3.0 4.0)) ó«ºóαáΘáÑΓ 2.828427
-
- 4.39 (eq <óδαáªÑ¡¿Ñ1> <óδαáªÑ¡¿Ñ2>)
-
- ¥Γá Σπ¡¬µ¿∩ «»αÑñѽ∩ÑΓ ¿ñÑ¡Γ¿τ¡δ ½¿ <óδαáªÑ¡¿Ñ1> ¿ <óδαáªÑ¡¿Ñ2>,
- Γ.Ñ. «¡¿ Σá¬Γ¿τÑ߬¿ «Γ¡«ß∩Γß∩ ¬ «ñ¡«¼π «í'ѬΓπ (¡á»α¿¼Ñα, ß »«¼«Θ∞ε
- SETQ). EQ ó«ºóαáΘáÑΓ Æ, Ñß½¿ «íá óδαáªÑ¡¿∩ ¿ñÑ¡Γ¿τ¡δ, ¿¡áτÑ nil.
- Æ¿»¿τ¡«Ñ »α¿¼Ñ¡Ñ¡¿Ñ Σπ¡¬µ¿¿ - ñ½∩ «»αÑñѽѡ¿∩ ∩ó½∩εΓß∩ ½¿ ñóá ß»¿ß¬á
- Σá¬Γ¿τÑ߬¿ «ñ¡¿¼. Há»α¿¼Ñα, ºáñáñ¿¼ß∩ ß½ÑñπεΘ¿¼¿ ñ«»πΘÑ¡¿∩¼¿:
-
- (setq f1 '(a b c))
- (setq f2 '(a b c))
- (setq f3 f2)
-
- Γ«úñá:
-
- (eq f1 f3) ó«ºóαáΘáÑΓ nil (f1 ¿ f3 ¡Ñ «ñ¡« ¿ Γ« ªÑ)
- (eq f3 f2) ó«ºóαáΘáÑΓ T (f3 ¿ f2 «ñ¿¡ ¿ ëà ªÑ
- ᯨ᮪)
-
- 漫Γα¿ ΓᬠªÑ Σπ¡¬µ¿ε EQUAL ¡¿ªÑ.
-
-
- lsp-4-4
-
- 4.40 (equal <óδαáªÑ¡¿Ñ1> <óδαáªÑ¡¿Ñ2>)
-
- ¥Γ« Σπ¡¬µ¿∩ «»αÑñѽ∩ÑΓ αáó¡δ ½¿ <óδαáªÑ¡¿Ñ1> ¿ <óδαáªÑ¡¿Ñ2>, Γ.Ñ.
- ¿σ º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ «ñ¡« ¿ Γ« ªÑ. Há»α¿¼Ñα, ºáñáñ¿¼ß∩ ß½ÑñπεΘ¿¼¿
- ñ«»πΘÑ¡¿∩¼¿:
-
- (setq f1 '(a b c))
- (setq f2 '(a b c))
- (setq f3 f2)
-
- Γ«úñá:
-
-
-
-
-
- - 38 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (equal f1 f3) ó«ºóαáΘáÑΓ T (º¡áτÑ¡¿Ñ¼ f1 ¿ f3 ∩ó½∩ÑΓß∩ «ñ¡«
- ¿ Γ« ªÑ)
- (equal f3 f2) ó«ºóαáΘáÑΓ T (f3 ¿ f2 ó Γ«τ¡«ßΓ¿ «ñ¿¡ ¿ ëà ªÑ
- ᯨ᮪)
-
- ÄΓ¼ÑΓ¿¼, τΓ« ó Γ« óαѼ∩, ¬á¬ ñóá ß»¿ß¬á EQUAL, «¡¿ ¼«úπΓ ¡Ñ íδΓ∞ EQ,
- áΓ«¼δ, ¬«Γ«αδÑ EQUAL óßÑúñá ¬ Γ«¼π ªÑ EQ. ä«íáó¿¼, τΓ« ñóá ß»¿ß¬á,
- ¬«Γ«αδÑ EQ, óßÑúñá EQUAL.
-
- 4.41 (eval <óδαáªÑ¡¿Ñ>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ óδαáªÑ¡¿∩ <óδαáªÑ¡¿Ñ>, úñÑ <óδαáªÑ¡¿Ñ> -
- ½εí«Ñ óδαáªÑ¡¿Ñ ∩ºδ¬á LISP. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 123)
- (setq b 'a)
-
- Γ«úñá:
-
- (eval 4.0) ó«ºóαáΘáÑΓ 4.000000
- (eval (abs -10)) ó«ºóαáΘáÑΓ 10
- (eval a) ó«ºóαáΘáÑΓ 123
- (eval b) ó«ºóαáΘáÑΓ 123
-
- 4.42 (exp <τ¿ß½«>)
-
- ¥Γá Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓ Ñ ó ßΓѻѡ¿ <τ¿ß½«> (¡áΓπαá½∞¡δ⌐ á¡Γ¿½«úáα¿Σ¼),
- ó«ºóαáΘáÑΓ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«. Há»α¿¼Ñα:
-
- (exp 1.0) ó«ºóαáΘáÑΓ 2.718282
- (exp 2.2) ó«ºóαáΘáÑΓ 9.025013
- (exp -0.4) ó«ºóαáΘáÑΓ 0.670320
-
- 4.43 (expt <«ß¡«óá¡¿Ñ> <ßΓѻѡ∞>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ <«ß¡«óá¡¿Ñ>, ó«ºóÑñÑ¡¡«Ñ ó π¬áºá¡¡πε <ßΓѻѡ∞>.
- àß½¿ «íá áαúπ¼Ñ¡Γá µÑ½δÑ, Γ« αѺπ½∞ΓáΓ - µÑ½«Ñ τ¿ß½«. é ½εí«¼ ñαπú«¼
- ß½πτáÑ, αѺπ½∞ΓáΓ - ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«.
- Há»α¿¼Ñα:
-
- (expt 2 4) ó«ºóαáΘáÑΓ 16
- (expt 3.0 2.0) ó«ºóαáΘáÑΓ 9.000000
-
- 4.44 (fix <τ¿ß½«>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¿Ñ <τ¿ß½á> ó µÑ½«Ñ. <ù¿ß½«> ¼«ªÑΓ íδΓ∞
- ¬á¬ µÑ½δ¼, Γᬠ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼. àß½¿ «¡« ñÑ⌐ßΓó¿Γѽ∞¡«Ñ, Γ« «¡« πßÑ-
- ¬áÑΓß∩ ñ« í½¿ªá⌐ΦÑú« µÑ½«ú« »πΓѼ «Γíαáßδóá¡¿∩ ñα«í¡«⌐ τáßΓ¿.
- Há»α¿¼Ñα:
-
- (fix 3) ó«ºóαáΘáÑΓ 3
- (fix 3.7) ó«ºóαáΘáÑΓ 3
-
- 4.45 (float <τ¿ß½«>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¿Ñ <τ¿ß½á> ó ñÑ⌐ßΓó¿Γѽ∞¡«Ñ.
- <ù¿ß½«> ¼«ªÑΓ íδΓ∞ ¬á¬ µÑ½δ¼ Γᬠ¿ ñÑ⌐ßΓó¿Γѽ∞¡δ¼. Há»α¿¼Ñα:
-
-
-
-
- - 39 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- (float 3) ó«ºóαáΘáÑΓ 3.000000
- (float 3.7) ó«ºóαáΘáÑΓ 3.700000
-
- 4.46 (foreach <¿¼∩> <ß»¿ß«¬> <óδαáªÑ¡¿Ñ>...)
-
- ¥Γá Σπ¡¬µ¿∩, »α«σ«ñ∩ »« <ß»¿ß¬π>, »α¿ßóáÑóáÑΓ ¬áªñ«¼π φ½Ñ¼Ñ¡Γπ <¿¼∩> ¿
- óδτ¿ß½∩ÑΓ ¬áªñ«Ñ <óδαáªÑ¡¿Ñ> ñ½∩ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá ó ß»¿ß¬Ñ. ÑΓ íδΓ∞
- ºáñá¡« ½εí«Ñ τ¿ß½« <óδαáªÑ¡¿⌐>. FOREACH óδñáÑΓ αѺπ½∞ΓáΓ »«ß½Ññ¡Ñú«,
- óδτ¿ß½Ñ¡¡«ú« <óδαáªÑ¡¿∩>. Há»α¿¼Ñα:
-
- (foreach n '(a b c) (print n))
-
- φ¬ó¿óá½Ñ¡Γ¡«:
-
- (print a)
- (print b)
- (print c)
-
- ¬α«¼Ñ Γ«ú«, τΓ« FOREACH ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ Γ«½∞¬« »«ß½Ññ¡Ñú« óδτ¿ß½Ñ¡-
- ¡«ú« óδαáªÑ¡¿∩.
-
- 4.47 (gcd <τ¿ß½«1> <τ¿ß½«2>)
-
- öπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡á¿í«½∞Φ¿⌐ «íΘ¿⌐ ñѽ¿Γѽ∞ <τ¿ß½á1> ¿ <τ¿ß½á2>.
- <ù¿ß½«1> ¿ <τ¿ß½«2> ñ«½ª¡δ íδΓ∞ µÑ½δ¼¿. Há»α¿¼Ñα:
-
- (gcd 81 57) ó«ºóαáΘáÑΓ 3
- (gcd 12 20) ó«ºóαáΘáÑΓ 4
-
- 4.48 (getangle [<Γ«τ¬á>] [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ ß«ºñáÑΓ »áπºπ ñ½∩ Γ«ú«, τΓ«íδ »«½∞º«óáΓѽ∞ óóѽ πú«½.
- <Å«ñ߬Ậá> - Σá¬π½∞ΓáΓ¿ó¡á∩ ºá»¿ß∞ ñ½∩ óδßóÑτ¿óá¡¿∩ ¡á φ¬αá¡Ñ ó
- ¬áτÑßΓóÑ
- »«ñ߬Ậ¿, á <Γ«τ¬á> - Σá¬π½∞ΓáΓ¿ó¡á∩ 2-σ ¼Ñα¡á∩ íẫóá∩ Γ«τ¬á. éδ
- ¼«ªÑΓÑ ºáñáΓ∞ πú«½ »πΓѼ ¡áí«αá τ¿ß½á ¡á ¬½áó¿áΓπαÑ ó ΓѬπΘ¿σ ñ½∩
- AutoCADa Ññ¿¡¿µáσ ¿º¼ÑαÑ¡¿∩. çá¼ÑΓ¿¼, τΓ« ¡Ñß¼«Γα∩ ¡á Γ«, τΓ« ΓѬπΘá∩
- Ññ¿¡¿µá ¿º¼ÑαÑ¡¿∩ πú½á ¼«ªÑΓ íδΓ∞ úαáñπß, úαáñ, ¿½¿ ¬á¬á∩ ½¿í« ÑΘÑ,
- Σπ¡¬µ¿∩ óßÑúñá ó«ºóαáΘáÑΓ πú«½ ó αáñ¿á¡áσ.
-
- éδ ¼«ªÑΓÑ ΓᬠªÑ "»«¬áºáΓ∞" AutoLISPπ πú«½ »πΓѼ π¬áºá¡¿∩ ñóπσ 2-σ
- ¼Ñα¡δσ Γ«τѬ ¡á φ¬αá¡Ñ. AutoCAD ¡áα¿ßπÑΓ "αѺ¿¡«óπε" ½¿¡¿ε «Γ »Ñαó«⌐
- Γ«τ¬¿ ¬ ΓѬπΘÑ¼π »«½«ªÑ¡¿ε ¬παß«αá ñ½∩ Γ«ú« τΓ«íδ ó¿ºπ὿º¿α«óáΓ∞ πú«½.
- öá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ GETANGLE - <Γ«τ¬á> (Ñß½¿ π¬áºδóáÑΓß∩) »«ñαáºπ-
- ¼ÑóáÑΓß∩ ¬á¬ »Ñαóá∩ ¿º φΓ¿σ ñóπσ Γ«τѬ, »«ºó«½∩∩ ΓѼ ßá¼δ¼ óá¼ "»«¬áºáΓ∞"
- AutoLISPπ πú«½, π¬áºδóá∩ ¡á ß½ÑñπεΘπε Γ«τ¬π.
-
- H¿ªÑ »α¿óÑñÑ¡δ »α¿¼Ñαδ Σπ¡¬µ¿¿ GETANGLE.
-
- (setq ang (getangle))
- (setq ang (getangle '(1.0 3.5))
- (setq ang (getangle "Which way? ")) /"é ¬á¬πε ßΓ«α«¡π? "/
- (setq ang (getangle '(1.0 3.5) "Which way? ")) /"é ¬á¬πε ßΓ«α«¡π? "/
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ñαπú«Ñ óδαáªÑ¡¿Ñ LISPa, ¬á¬ «ΓóÑΓ ¡á ºá»α«ß Σπ¡¬µ¿¿
-
-
-
-
- - 40 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- GETANGLE. Åα¿ »«»δ⪥ ßñѽáΓ∞ Γá¬, »«∩ó¿Γß∩ ß««íΘÑ¡¿Ñ "Can't reenter
- AutoLISP " /"HÑ ¼«úπ ó«⌐Γ¿ ó AutoLISP"/. C¼«Γα¿ΓÑ Γá¬ªÑ GETORIENT INITGET.
-
- 4.49 (getcorner <Γ«τ¬á> [<»«ñ߬Ậá>])
-
- GETCORNER ó«ºóαáΘáÑΓ Γ«τ¬π, ΓᬠªÑ ¬á¬ GETPOINT. Äñ¡á¬« ñ½∩
- GETCORNER ΓαÑíπÑΓß∩ <íẫóá∩ Γ«τ¬á> ¿ Σπ¡¬µ¿∩ ßΓα«¿Γ »α∩¼«πú«½∞¡¿¬ «Γ
- <íẫó«⌐ Γ«τ¬¿> ó Γ« óαѼ∩ ¬á¬ »«½∞º«óáΓѽ∞ »ÑαÑñó¿úáÑΓ ¬παß«α »« φ¬αá¡π.
- 漫Γα¿ΓÑ GETROINT ¿ INITGET ñ½∩ πΓ«τ¡Ñ¡¿∩.
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ñαπú«Ñ LISP-óδαáªÑ¡¿Ñ ó «ΓóÑΓ ¡á ºá»αß GETCORNER.
-
-
- lsp-4-5
-
- 4.50 (getdist [<Γ«τ¬á>] [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ ß«ºñáÑΓ »áπºπ ñ½∩ Γ«ú«, τΓ«íδ »«½∞º«óáΓѽ∞ óóѽ
- αáßßΓ«∩¡¿Ñ. [<Åα«¼»Γ>] - Σá¬π½∞ΓáΓ¿ó¡á∩ ºá»¿ß∞ ñ½∩ óδßóÑτ¿óá¡¿∩ ¡á φ¬αá¡Ñ
- ó ¬áτÑßΓóÑ »«ñ߬Ậ¿, <Γ«τ¬á> - Σá¬π½∞ΓáΓ¿ó¡á∩ íẫóá∩ Γ«τ¬á. éδ ¼«ªÑΓÑ
- π¬áºáΓ∞ αáßßΓ«∩¡¿Ñ, ¡áíαáó τ¿ß½« ¡á ¬½áó¿áΓπαÑ ó ΓѬπΘ¿σ ñ½∩ AutoCADa
- Ññ¿¡¿µáσ ¿º¼ÑαÑ¡¿∩. çá¼ÑΓ¿¼, ¬á¬¿¼¿ íδ ¡¿ í뫨 ΓѬπΘ¿Ñ Ññ¿¡¿µ ¿º¼ÑαÑ¡¿∩
- (¡á»α¿¼Ñα ΣπΓδ ¿½¿ ñε⌐¼δ), Σπ¡¬µ¿∩ óßÑúñá ó«ºóαáΘáÑΓ αáßßΓ«∩¡¿Ñ
- ¬á¬ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«.
-
- éδ ¼«ªÑΓÑ ΓᬠªÑ "»«¬áºáΓ∞" AutoLISPπ αáßßΓ«∩¡¿Ñ , π¬áºáó ñóÑ Γ«τ¬¿ ¡á
- φ¬αá¡Ñ. AutoCAD α¿ßπÑΓ "αѺ¿¡«óπε" ½¿¡¿ε «Γ »Ñαó«⌐ Γ«τ¬¿ ñ« ΓѬπΘÑú«
- »«½«ªÑ¡¿∩ ¬παß«αá ñ½∩ Γ«ú«, τΓ«íδ ó¿ºπ὿α«óáΓ∞ αáßßΓ«∩¡¿Ñ.
- öá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ GETDIST <Γ«τ¬á> »«ñαáºπ¼ÑóáÑΓß∩ ¬á¬ »Ñαóδ⌐ ¿º φΓ¿σ
- ñóπσ Γ«τѬ, »«ºó«½∩∩ óá¼ "»«¬áºáΓ∞" AutoLISPπ αáßßΓ«∩¡¿Ñ, »πΓѼ π¬áºá¡¿∩
- ó ½εíπε ñαπúπε Γ«τ¬π.
-
- H¿ªÑ »α¿óÑñÑ¡δ »α¿¼Ñαδ Σπ¡¬µ¿¿ GETDIST:
-
- (setq dist (getdist))
- (setq dist (getdist '(1.0 3.5))
- (setq dist (getdist "How far? ")) /"Kᬠñá½Ñ¬«? "/
- (setq dist (getdist '(1.0 3.5) "How far? ")) /"Kᬠñá½Ñ¬«? "/
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ñαπú«Ñ LISP-óδαáªÑ¡¿Ñ ¬á¬ «ΓóÑΓ ¡á ºá»α«ß GETDIST.
- 漫Γα¿ΓÑ Γá¬ªÑ INITGET.
-
- 4.51 (getint [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ «ª¿ñáÑΓ óó«ñá »«½∞º«óáΓѽѼ µÑ½«ú« τ¿ß½á ¿ ó«ºóαáΘáÑΓ
- Ñú«. <Å«ñ߬Ậá> - Σá¬π½∞ΓáΓ¿ó¡á∩ ºá»¿ß∞ ñ½∩ óδßóÑτ¿óá¡¿∩ ¡á φ¬αá¡Ñ ó
- ¬áτÑßΓóÑ »«ñ߬Ậ¿. Há»α¿¼Ñα:
-
- (setq num (getint))
- (setq num (getint "Enter a number: ")) /"éóÑñ¿ΓÑ τ¿ß½«: "/
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ñαπú«Ñ LISP-óδαáªÑ¡¿Ñ ¡á ºá»α«ß GETINT.
- 漫Γα¿ΓÑ Γá¬ªÑ INITGET.
-
-
-
-
-
- - 41 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 4.52 (getkword [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ ºá»αáΦ¿óáÑΓ ¬½ετÑó«Ñ ß½«ó« π »«½∞º«óáΓѽ∩. 滿߫¬
- ¿¼ÑεΘ¿σ ß¼δß½ ¬½ετÑóδσ ß½«ó ºáñáÑΓß∩ »αѪñÑ τѼ óδºδóáÑΓß∩
- Σπ¡¬µ¿∩ GETKWORD, »«½∞ºπ∩ß∞ Σπ¡¬µ¿Ñ⌐ INITGET («»¿ßδóáÑΓß∩ ¡¿ªÑ). GETKWORD
- ó«ºóαáΘáÑΓ ¬½ετÑó«Ñ ß½«ó«, ß««ΓóÑΓßΓóπεΘÑÑ óóÑñÑ¡¡«¼π »«½∞º«óáΓѽѼ ¬á¬
- ßΓ᫬«óπε ¬«¡ßΓá¡Γπ. AutoCAD »ÑαÑß»α«ß¿Γ, Ñß½¿ óóÑñÑ¡¡«Ñ ¡Ñ ∩ó½∩ÑΓß∩
- «ñ¡¿¼ ¿º ºáñá¡¡δσ ¬½ετÑóδσ ß½«ó. ÅπßΓ«⌐ óó«ñ ó«ºóαáΘáÑΓ nil (Ñß½¿ »«º-
- ó«½∩ÑΓß∩ óó«ñ¿Γ∞ »πßΓ«⌐ óó«ñ). àß½¿ ¡Ñ í佫 πßΓá¡«ó½Ñ¡« ¡¿ «ñ¡«ú« ¬½ετÑ-
- ó«ú« ß½«óá Γá¬ªÑ ó«ºóαáΘáÑΓß∩ nil.
- Há»α¿¼Ñα:
-
- (initget 1 "Yes No")
- (setq x (getkword "Are you sure? (Yes or No) "))
- /"éδ πóÑαÑ¡δ? (äá ¿½¿ HÑΓ) "/
-
- ºá»α«ß¿Γ »«½∞º«óáΓѽ∩ ¿ πßΓá¡«ó¿Γ ó ß¿¼ó«½ ò ½¿í« "Yes", ½¿í« "No",
- ó ºáó¿ß¿¼«ßΓ¿ «Γ Ñú« «ΓóÑΓá. àß½¿ óó«ñ ¡Ñ ß««Γó¬ΓßΓóπÑΓ ¡¿ «ñ¡«¼π ¬½ετÑ-
- ó«¼π ß½«óπ, ¿½¿ ªÑ »«½∞º«óáΓѽ∞ «ΓóÑΓ¿½ »πßΓδ¼ óó«ñ«¼, AutoCAD »«»α«ß¿Γ
- »«½∞º«óáΓѽ∩ »«óΓ«α¿Γ∞ óó«ñ ÑΘÑ αáº.
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ñαπú«Ñ LISP-óδαáªÑ¡¿Ñ ¡á ºá»α«ß GETKWORD.
- 漫ΓαÑΓÑ Γá¬ªÑ INITGET.
-
- 4.53 (getorient [<Γ«τ¬á>] [<»«ñ߬Ậá>])
-
- é AutoLISPe πú½δ óßÑúñá »αÑñßΓáó½∩εΓß∩ ó αáñ¿á¡áσ ß ¡π½Ñóδ¼ ¡á»αáó½Ñ¡¿Ñ¼
- ß½Ñóá ¡á»αáó« (ó«ßΓ«¬) ¿ πú½δ «Γ¬½áñδóáεΓß∩ »α«Γ¿ó τáß«ó«⌐ ßΓαѽ¬¿.
- Æá¬¿¼ «íαẫ¼ ñ«½ª¡δ ¿¼ÑΓ∞ ¼ÑßΓ∞ ¡Ñ¬«Γ«αδÑ ¿º¼Ñ¡Ñ¡¿∩, Ñß½¿ »«½∞º«óáΓѽ∞
- σ«τÑΓ óδíαáΓ∞ «ΓßτÑΓ ó úαáñπßáσ ¿½¿ ªÑ½áÑΓ ¿º¼Ñ¡¿Γ∞ ¡á»αáó½Ñ¡¿Ñ «ΓßτÑΓá
- πú½«ó, ¿ß»«½∞ºπ∩ ¬«¼á¡ñπ UNITS ¿½¿ ß¿ßΓѼ¡δÑ »ÑαѼѡ¡δÑ ANGBASE ¿ ANGDIR.
-
- GETRIENT »«σ«ªá ¡á GETANGLE-Σπ¡¬µ¿ε, ¡« «Γ½¿τáÑΓß∩ «Γ ¡ÑÑ ΓѼ, τΓ« ¿º¼Ñ-
- α∩ÑΓ πú½δ ó úαáñπßáσ ¿ ¡á»αáó½Ñ¡¿Ñ «ΓßτÑΓá πú½«ó «»αÑñѽ∩ÑΓß∩ ñαπú¿¼
- ß»«ß«í«¼ τѼ ó GETANGLE. GETANGLE ¿ß»«½∞ºπÑΓß∩, Ñß½¿ óá¼ ¡Ñ«íσ«ñ¿¼ ßπ¼-
- ¼áα¡δ⌐ πú«½ («Γ¡«ß¿Γѽ∞¡δ⌐ πú«½), ó Γ« óαѼ∩ ¬á¬ GETORIENT ¿ß»«½ºπÑΓß∩
- ñ½∩ ñ«ßΓ¿ªÑ¡¿∩ «α¿Ñ¡Γᵿ¿ (áíß«½εΓ¡δ⌐ πú«½).
-
- ÅαÑñ»«½«ª¿¼, τΓ« íδ½á ¿ß»«½∞º«óá¡á ¬«¼á¡ñá AutoCADa UNITS ñ½∩ óδí«αá
- «ΓßτÑΓá úαáñπßáσ ¿ ¡π½Ñó«Ñ ¡á»αáó½Ñ¡¿Ñ -90 (ßÑóÑα), «ΓßτÑΓ úαáñπß«ó ó
- ¡á»αáó½Ñ¡¿¿ τáß«ó«⌐ ßΓαѽ¬¿. é Γáí½¿µÑ π¬áºá¡δ º¡áτÑ¡¿∩, ¬«Γ«αδÑ ó«ºóαá-
- ΘáεΓ GETANGLE ¿ GETORIENT (ó αáñ¿á¡áσ), Ñß½¿ »«½∞º«óáΓѽѼ óóÑñÑ¡δ
- π¬áºá¡¡δÑ º¡áτÑ¡¿∩ (ó úαáñπßáσ):
-
- !~~~~~~~~~~~!~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~!
- !éóÑñÑ¡« ! GETANGLE ! GETORIENT!
- !(úαáñπßδ) ! ! !
- !-----------!----------------!---------------!
- ! 0 ! 0.000000 ! 1.570796 !
- !-90 ! 1.570796 ! 3.141593 !
- !180 ! 3.141593 ! 4.712389 !
- ! 90 ! 4.712389 ! 0.000000 !
- !___________!________________!_______________!
-
- Kᬠó¿ñ¡« ¿º Γáí½¿µδ, GETANGLE »αÑñ»«τ¿ΓáÑΓ ¡á»αáó½Ñ¡¿Ñ »α¿αáΘÑ¡¿∩ πú½á,
- ¡« ¿ú¡«α¿απÑΓ ¡á»αáó½Ñ¡¿Ñ ¡π½∩ úαáñπß«ó. Æá¬, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
- GETANGLE »α¿ »«ó«α«ΓÑ óßΓáó½∩Ѽ«ú« í½«¬á, Γ.¬. óóÑñÑ¡¿Ñ ¡π½∩ úαáñπß«ó
- íπñÑΓ óßÑúñá ó«ºóαáΘáΓ∞ ¡«½∞ αáñ¿á¡. æ ñαπú«⌐ ßΓ«α«¡δ, GETORIENT
-
-
-
-
- - 42 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ó«ß»α¿¡¿¼áÑΓ ¬á¬ ¡á»αáó½Ñ¡¿Ñ ¡π½∩ úαáñπß«ó, Γᬠ¿ ¡á»αáó½Ñ¡¿Ñ »α¿αáΘÑ¡¿∩
- πú½á. Æá¬, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ GETORIENT ñ½∩ óóÑñÑ¡¿∩ Γᬿσ πú½«ó, ¬á¬
- πú«½ íẫó«⌐ ½¿¡¿¿ ñ½∩ ¬«¼á¡ñδ ÆàòÆ. Há»α¿¼Ñα, π¬áºá¡¡á∩ óδΦÑ πßΓá¡«ó¬á
- UNITS π¬áªÑΓ ¡á»αáó½Ñ¡¿Ñ íẫó«⌐ ½¿¡¿¿ «íδτ¡«⌐ ú«α¿º«¡Γá½∞¡«⌐ ßΓ᫬¿
- ΓѬßΓá ¡á 90 úαáñπß«ó.
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ñαπú«Ñ LISP-óδαáªÑ¡¿Ñ ó ¬áτÑßΓóÑ «ΓóÑΓá ¡á ºá»α«ß
- GETORIENT. 漫Γα¿ΓÑ Γá¬ªÑ GETANGLE ¿ INITGET.
-
- 4.54 (getpoint [<Γ«τ¬á>] [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ ºá»αáΦ¿óáÑΓ «Γ »«½∞º«óáΓѽ∩ Γ«τ¬π <Γ«τ¬á>. öá¬π½∞ΓáΓ¿ó¡δ⌐
- áαúπ¼Ñ¡Γ - íẫóá∩ [<Γ«τ¬á>] ¿ [<»«ñ߬Ậá>] - Σá¬π½∞ΓáΓ¿ó¡á∩ ºá»¿ß∞
- ñ½∩ óδßóÑτ¿óá¡¿∩ ¡á φ¬αá¡Ñ ó ¬áτÑßΓóÑ »«ñ߬Ậ¿. éδ ¼«ªÑΓÑ óóÑßΓ¿ Γ«τ¬π
- »πΓѼ π¬áºá¡¿∩ ÑÑ ¡á φ¬αá¡Ñ ¿½¿ ºá»¿ßáó ¬««αñ¿¡áΓδ ó ΓѬπΘ¿σ Ññ¿¡¿µáσ
- ¿º¼ÑαÑ¡¿∩. àß½¿ »α¿ßπΓßΓóπεÑΓ áαúπ¼Ñ¡Γ <Γ«τ¬á>, AutoCAD ¡áα¿ßπÑΓ
- "αѺ¿¡«óπε" ½¿¡¿ε «Γ φΓ«⌐ Γ«τ¬¿ ñ« ΓѬπΘÑú« »«½«ªÑ¡¿∩ ¬παß«αá.
- Há»α¿¼Ñα:
-
- (setq p (getpoint))
- (setq p (getpoint "Where? ")) /"âñÑ? "/
- (setq p (getpoint '(1.5 2.0) "Second point: ")) /"éΓ«αá∩ Γ«τ¬á: "/
-
- Äíδτ¡«, GETPOINT ó«ºóαáΘáÑΓ 2-σ ¼Ñα¡πε Γ«τ¬π (ß»¿ß«¬ ¿º ñóπσ ñÑ⌐ßΓó¿-
- Γѽ∞¡δσ τ¿ßѽ). êß»«½∞ºπ∩ Σπ¡¬µ¿ε INIGET ñ½∩ πßΓá¡«ó¬¿ ¬«¡Γα«½∞¡«ú«
- ß¿¼ó«½á "3-σ ¼Ñα¡á∩ Γ«τ¬á", óδ ¼«ªÑΓÑ ºáßΓáó¿Γ∞ GETPOINT ó«ºóαáΘáΓ∞
- 3-σ ¼Ñα¡πε Γ«τ¬π (ß»¿ß«¬ ¿º ΓαÑσ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ).
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ¿¡«Ñ LISP-óδαáªÑ¡¿Ñ ó «ΓóÑΓ ¡á ºá»α«ß GETPOINT.
- 漫Γα¿ΓÑ Γá¬ªÑ GETCORNER ¿ INITGET.
-
- 4.55 (getreal [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ ºá»αáΦ¿óáÑΓ »«½∞º«óáΓѽ∩ óóÑßΓ¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½« ¿
- ó«ºóαáΘáÑΓ Ñú«. <Å«ñ߬Ậá>-¡Ñ«í∩ºáΓѽ∞¡δ⌐ áαúπ¼Ñ¡Γ ñ½∩ óδßóÑτ¿óá¡¿∩ ¡á
- φ¬αá¡Ñ ó ó¿ñÑ »«ñ߬Ậ¿.
-
- (setq val (getreal))
- (setq val (geyrial "Scale factor: ")) /"îáßΦΓáí¡δ⌐ Σá¬Γ«α: "/
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ¿¡«Ñ LISP-óδαáªÑ¡¿Ñ ó «ΓóÑΓ ¡á ºá»α«ß GETREAL.
- 漫Γα¿ΓÑ Γá¬ªÑ INITGET.
-
- 4.56 (getstring [<cr>] [<»«ñ߬Ậá>])
-
- ¥Γá Σπ¡¬µ¿∩ ºá»αáΦ¿óáÑΓ »«½∞º«óáΓѽ∩ óóÑßΓ¿ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ ¿
- ó«ºóαáΘáÑΓ φëà ¬«¡ßΓá¡Γπ. àß½¿ <cr> »α¿ßπΓßΓóπÑΓ ¿ ¡Ñ nil, óó«ñ¿¼δ⌐
- »«Γ«¬ ¼«ªÑΓ ß«ñÑαªáΓ∞ »α«íѽδ (¿ ñ«½ªÑ¡, ß½Ññ«óáΓѽ∞¡«, «¬á¡τ¿óáΓ∞ß∩
- RETURN). ê¡áτÑ óó«ñ ΓѬßΓá (ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ) íπñÑΓ »αÑαó¡ »α«íѽ«¼
- RETURN. <Å«ñ߬Ậá> - Σá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ ñ½∩ óδßóÑτ¿óá¡¿∩ ¡á
- φ¬αá¡Ñ ó ó¿ñÑ »«ñ߬Ậ¿.
- Há»α¿¼Ñα:
-
- (setq s (getstring))
- (setq s (getstring "What's your fist name? ")) /"éáΦÑ ¿¼∩? "/
- (setq s (getstring T "What's your full name? ")) /"éáΦÑ »«½¡«Ñ ¿¼∩? "/
-
-
-
-
- - 43 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- àß½¿ »«½∞º«óáΓѽ∞ ñ«½ªÑ¡ óóÑßΓ¿ «ñ¡π ¿º ߻ѵ¿á½∞¡δσ «»µ¿⌐ (¬½ετÑóδσ
- ß½«ó), ó¼ÑßΓ« Σπ¡¬µ¿¿ GETSTRING, ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á Σπ¡¬µ¿∩ GETWORD,
- «»¿ßá¡¡á∩ óδΦÑ.
-
- éδ ¡Ñ ¼«ªÑΓÑ óóÑßΓ¿ ¿¡«Ñ LISP-óδαáªÑ¡¿Ñ ¬á¬ «ΓóÑΓ ¡á ºá»α«ß GETSTRING.
-
- 4.57 (getvar <¿¼∩ »ÑαѼѡ¡«⌐>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ ß¿ßΓѼ¡«⌐ »ÑαѼѡ¡«⌐ AutoCADa. ê¼∩
- »ÑαѼѡ¡«⌐ ñ«½ª¡« íδΓ∞ ºá¬½ετÑ¡« ó ¬áóδτ¬¿ ("¿¼∩"). Há»α¿¼Ñα,
- »αÑñ»«½«ª¿¼, τΓ« αáñ¿πß ß«»α∩ªÑ¡¿∩ íδ½ ¡Ññáó¡« «»αÑñѽѡ ó 0.25 Ññ¿¡¿µ:
-
- (getvar "FILLETRAD") ó«ºóαáΘáÑΓ 0.250000
-
- àß½¿ óδ ¿ß»«½∞ºπÑΓÑ GETVAR ß ¡Ñ¿ºóÑßΓ¡δ¼ AutoCADπ ¿¼Ñ¡Ñ¼ »ÑαѼѡ¡«⌐,
- Σπ¡¬µ¿∩ ó«ºóαáΓ¿Γ nil. 滿߫¬ ΓѬπΘ¿σ ß¿ßΓѼ¡δσ »ÑαѼѡ¡δσ AutoCADa
- ¼«ª¡« ¡á⌐Γ¿ ó »α¿½«ªÑ¡¿¿ Ç απ¬«ó«ñßΓóá »« AutoCADπ.
- 漫Γα¿ΓÑ Γá¬ªÑ Σπ¡¬µ¿ε SETVAR.
-
- 4.58 (graphscr)
-
- ¥Γá Σπ¡¬µ¿∩ »ÑαѬ½ετáÑΓ φ¬αá¡ ß ΓѬßΓ«ó«ú« αѪ¿¼á ó úαáΣ¿τÑ߬¿⌐ ó
- ß¿ßΓѼáσ ß «ñ¡¿¼ φ¬αá¡«¼ (Γá¬ªÑ ¬á¬ Σπ¡¬µ¿«¡á½∞¡á∩ ¬½áó¿Φá "FLIP SCREEN"
- ó AutoCADe). GRAPHSCR óßÑúñá ó«ºóαáΘáÑΓ nil. 漫Γα¿ΓÑ ΓᬠªÑ Σπ¡¬µ¿ε
- TEXTSCR.
-
- 4.59 (if <ΓѬßΓ-óδαáªÑ¡¿Ñ> <óδαáªÑ¡¿Ñ-Γ«úñá> [<óδαáªÑ¡¿Ñ-¿¡áτÑ>])
-
- ¥Γá Σπ¡¬µ¿∩ ¿ß»«½¡∩ÑΓ óδαáªÑ¡¿Ñ »« πß½«ó¿ε. àß½¿ <ΓÑßΓ-óδαáªÑ¡¿Ñ>
- ¡Ñ nil, Γ«úñá ¿ß»«½¡∩ÑΓß∩ <óδαáªÑ¡¿Ñ-Γ«úñá>, ¿¡áτÑ ¿ß»«½¡∩ÑΓß∩
- <óδαáªÑ¡¿Ñ-¿¡áτÑ>. ū߽Ññ¡ÑÑ óδαáªÑ¡¿Ñ <óδαáªÑ¡¿Ñ-¿¡áτÑ> ¡Ñ «í∩ºáΓѽ∞¡«.
- IF ó«ºóδαáΘáÑΓ º¡áτÑ¡¿Ñ óδíαá¡¡«ú« óδαáªÑ¡¿∩; Ñß½¿ <óδαáªÑ¡¿Ñ-¿¡áτÑ>
- «ΓßπΓßΓóπÑΓ ¿ <ΓÑßΓ-óδαáªÑ¡¿Ñ> nil, IF ó«ºóαáΘáÑΓ nil. Há»α¿¼Ñα:
-
- (if (= 1 3) "Yes!!" "no.") ó«ºóαáΘáÑΓ "no."
- (if (= 2 (+ 1 1) "Yes!!") ó«ºóαáΘáÑΓ "Yes!!"
- (if (= 2 (+ 3 4) "Yes!!") ó«ºóαáΘáÑΓ nil
-
-
- lsp-4-6
-
- 4.60 (initget [<í¿Γδ>] [<ßΓ᫬á>])
-
- ¥Γá Σπ¡¬µ¿∩ πßΓá¡áó½¿óáÑΓ αẽ¿τ¡δÑ «»µ¿¿ ñ½∩ ¿ß»«½∞º«óá¡¿∩
- »«ß½ÑñπεΘ¿¼¿ Σπ¡¬µ¿∩¼¿ GETxxx (¬α«¼Ñ GETSTRING ¿ GETVAR). INITGET óßÑúñá
- ó«ºóαáΘáÑΓ nil. <ü¿Γδ> - Σá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ - µÑ½«Ñ τ¿ß½« ß«
- ß½ÑñπεΘ¿¼¿ º¡áτÑ¡¿∩¼¿:
-
-
-
-
-
- - 44 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- !~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- !INITGET ! º¡áτÑ¡¿∩ !
- ! í¿Γδ ! !
- !~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- ! 1 ! ºá»αÑΘÑ¡ óó«ñ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ !
- ! 2 ! ºá»αÑΘÑ¡ óó«ñ 0 !
- ! 4 ! ºá»αÑΘÑ¡ óó«ñ «Γα¿µáΓѽ∞¡δσ τ¿ßѽ !
- ! 8 ! ¡Ñ ¬«¡Γα«½¿απεΓß∩ »αÑñѽδ, ñáªÑ »α¿ !
- ! ! ó¬½ετÑ¡¡«¼ LIMCHECK !
- ! 16 ! ó«ºóαáΘÑ¡¿Ñ 3-σ ¼Ñα¡δσ Γ«τѬ, !
- ! ! »αÑñ»«τΓ¿Γѽ∞¡ÑÑ, τѼ 2-σ ¼Ñα¡δσ Γ«τѬ.!
- ! 32 ! »α¿¼Ñ¡∩ÑΓß∩ »π¡¬Γ¿α ñ½∩ ¿º«íαáªÑ¡¿∩ !
- ! ! "αѺ¿¡«ó«⌐" ½¿¡¿¿ ¿½¿ αἬ¿. !
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- ü¿Γδ ¼«úπΓ ñ«íáó½∩Γ∞ß∩ ó¼ÑßΓÑ ó ½εí«⌐ ¬«¼í¿¡áµ¿¿, τΓ«íδ ßΣ«α¼¿α«óáΓ∞
- º¡áτÑ¡¿Ñ «Γ 0 ñ« 63. (ū߽ÑñπεΘ¿Ñ óÑαß¿¿ AutoLISPá ¼«úπΓ ó¬½ετáΓ∞ ñ«»«½¡¿-
- Γѽ∞¡δÑ ¬«¡Γα«½∞¡δÑ í¿Γδ, ΓᬠτΓ« ¿ºíÑúá⌐ΓÑ π¬áºδóáΓ∞ ¡Ñºáñ«¬π¼Ñ¡Γ¿α«óá¡¡δÑ
- í¿Γδ).
-
- àß½¿ »«½∞º«óáΓѽ∞, óó«ñ∩ ºáíδ½ «ñ¡« ¿½¿ í«½ÑÑ ºáñá¡¡δσ πß½«ó¿⌐ (Γá¬,
- ¡á»α¿¼Ñα, óóѽ 0, ¬«úñá óó«ñ 0 ºá»αÑΘÑ¡), AutoCAD óδßóÑΓ¿Γ «Φ¿í¬π ¿
- »αÑñ½«ª¿Γ »«½∞º«óáΓÑ½ε »«óΓ«α¿Γ∞ óó«ñ. Há»α¿¼Ñα:
-
- (initget (+ 1 2 4))
- (setq age (getint "How old are you? ")) /"欫½∞¬« éá¼ ½ÑΓ? "/
-
- ß»α«ß¿Γ ó«ºαáßΓ »«½∞º«óáΓѽ∩, áóΓ«¼áΓ¿τÑ߬¿ »«óΓ«α∩∩ ºá»α«ß, Ñß½¿
- »«½∞º«óáΓѽ∞ «ΓóÑΓ¿½ »πßΓδ¼ óó«ñ«¼, óóѽ «Γα¿µáΓѽ∞¡«Ñ ¿½¿ ¡π½Ñó«Ñ
- º¡áτÑ¡¿Ñ.Eß½¿ ¡ÑΓ áαúπ¼Ñ¡Γá <í¿Γδ>, »«ñαáºπ¼ÑóáÑΓß∩ 0 (¡ÑΓ πß½«ó¿⌐).
- æ»Ñµ¿á½∞¡δÑ ¬«¡Γα«½∞¡δÑ º¡áτÑ¡¿∩ «íÑß»Ñτ¿óáεΓß∩ ΓѼ¿ GETxxx Σπ¡¬µ¿∩¼¿,
- ñ½∩ ¬«Γ«αδσ «¡¿ ¿¼ÑεΓ ß¼δß½, ¬á¬ »«¬áºá¡« ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ.
-
- K«¡Γα«½∞¡δ⌐ í¿Γ ß« º¡áτÑ¡¿Ñ¼ 32 ó«ß»α¿¡¿¼áÑΓß∩ Σπ¡¬µ¿∩¼¿ GETPOINT, GETCORNER,
- GETDIST, GETANGLE ¿ GETORIENT ¬«úñá »α¿ßπΓßΓóπÑΓ áαúπ¼Ñ¡Γ <íẫóá∩ Γ«τ¬á>,
- ¿ πßΓá¡áó½¿óáÑΓ αѪ¿¼ ¿ß»«½∞º«óá¡¿∩ »π¡¬Γ¿α¡«⌐ (¿½¿ »«-ñαπú«¼π »«ñßóÑτÑ¡¡«⌐)
- ½¿¡¿¿ ó ¬áτÑßΓóÑ "αѺ¿¡«ó«⌐" ½¿¡¿¿ ¿½¿ αἬ¿, «Γα¿ß«óδóáѼδσ ¬παß«α«¼ «Γ
- ºáñá¡¡«⌐ íẫó«⌐ Γ«τ¬¿. àß½¿ ß¿ßΓѼ¡á∩ »ÑαѼѡ¡á∩ POPUPS αáó¡á ¡π½ε, π¬áºδóá∩
- ΓѼ ßá¼δ¼, τΓ« ñαá⌐óÑα ñ¿ß»½Ñ∩ ¡Ñ »«ññÑনóáÑΓ π½πτΦÑ¡¡δ⌐ ¿¡ΓÑαΣÑ⌐ß »«½∞º«óá-
- Γѽ∩, Γ« AutoCAD »α«¿ú¡«α¿απÑΓ φëà í¿Γ Σπ¡¬µ¿¿ INITGET.
-
- !~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- ! öπ¡¬µ¿¿ ! K«¡Γα«½∞¡δÑ í¿Γδ INITGET ó«ß»α¿¡¿¼áεΓß∩ !
- !-----------!---------!-----!--------!-----------!----------!------------!
- ! ! ¡Ñ ! ¡Ñ ! ¡Ñ ! ¡ÑΓ !3-σ ¼Ñα¡δÑ!¿ß»«½∞º«- !
- ! ! »πßΓ«⌐ ! 0 !«Γα¿µáΓ.! »αÑñѽ«ó !Γ«τ¬¿ !óáΓ∞ »π¡¬Γ¿α!
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETINT ! * ! * ! * ! ! ! !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETREAL ! * ! * ! * ! ! ! !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETDIST ! * ! * ! * ! ! ! * !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETANGL ! * ! * ! ! ! ! * !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETORIENT ! * ! * ! ! ! ! * !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETPOINT ! * ! ! ! * ! * ! * !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETCORNER ! * ! ! ! * ! * ! * !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETKWORD ! * ! ! ! ! ! !
- !-----------!---------!-----!--------!-----------!----------!------------!
- !GETSTRING ! ! ! ! ! ! !
- !-----------!---------!-----!--------!-----------!----------!------------!
- ! GETVAR ! ! ! ! ! ! !
- !___________!_________!_____!________!___________!__________!____________!
-
-
-
-
- - 45 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- öá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ INITGET-Σπ¡¬µ¿¿ <ßΓ᫬á> «»αÑñѽ∩ÑΓ ß»¿ß«¬
- ¬½ετÑóδσ ß½«ó, ¬«Γ«αδÑ íπñπΓ »α«óÑα∩Γ∞ß∩ ó »«ß½ÑñπεΘѼ ºá»α«ßÑ GETxxx,
- Ñß½¿ »«½∞º«óáΓѽ∞ »α«¿ºóѽ óó«ñ ¡Ñ»αáó¿½∞¡«ú« Γ¿»á (¡á»α¿¼Ñα, Γ«τ¬π ñ½∩
- GETPOINT). àß½¿ óó«ñ »«½∞º«óáΓѽ∩ ß««ΓóÑΓßΓóπÑΓ «ñ¡«¼π ¿º ¬½ετÑóδσ ß½«ó
- ¿º φΓ«ú« ß»¿ß¬á, φΓ« ¬½ετÑó«Ñ ß½«ó« ó«ºóαáΘáÑΓß∩ GETxxx Σπ¡¬µ¿Ñ⌐ ¬á¬
- αѺπ½∞ΓáΓ Γ¿»á STRING (ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá). Åα«úαá¼¼á »«½∞º«óáΓѽ∩ ¼«ªÑΓ
- ΓÑßΓ¿α«óáΓ∞ ¬½ετÑóδÑ ß½«óá ¿ óδ»«½¡∩Γ∞ ªÑ½áѼδÑ ñÑ⌐ßΓó¿∩ ñ½∩ ¬áªñ«ú« ¿º
- ¡¿σ. àß½¿ óó«ñ »«½∞º«óáΓѽ∩ ¡Ññ«ºó«½Ñ¡¡«ú« Γ¿»á ¿ ¡Ñ ß««ΓóÑΓßΓóπÑΓ ¡¿
- «ñ¡«¼π ¿º ¬½ετÑóδσ ß½«ó, AutoCAD »αÑñ½«ª¿Γ »«½∞º«óáΓÑ½ε »«óΓ«α¿Γ∞ óó«ñ.
-
- 滿߫¬ ¬½ετÑóδσ ß½«ó ¼«ªÑΓ íδΓ∞ Γᬫ⌐ Σ«α¼δ :"Key1 KEy2 KEY3,ABBREV3".
- ÄΓñѽ∞¡δÑ ¬½ετÑóδÑ ß½«óá «Γñѽ∩εΓß∩ »α«íѽἿ. 櫬αáΘÑ¡¿Ñ ¡Ñ«í∩ºáΓѽ∞¡« ¿
- 󫺼«ª¡δ ñóá ß»«ß«íá ߻ѵ¿Σ¿µ¿α«óá¡¿∩. HÑ«íσ«ñ¿¼á∩ ñ½∩ óó«ñá τáßΓ∞
- ¬½ετÑó«ú« ß½«óá ¼«ªÑΓ íδΓ∞ óδñÑ½Ñ¡á ºáú½áó¡δ¼¿ íπ¬óἿ, «ßΓá½∞¡á∩ τáßΓ∞
- ßΓα«τ¡δ¼¿ ¿½¿ ¡Ñ«íσ«ñ¿¼á∩ τáßΓ∞ ¼«ªÑΓ íδΓ∞ »«óΓ«αÑ¡á τÑαѺ ºá»∩Γπε »«ß½Ñ
- ¬½ετÑó«ú« ß½«óá. éΓ«α«⌐ ß»«ß«í »α¿¼Ñ¡∩ÑΓß∩ ó ß½πτáÑ ¿ß»«½∞º«óá¡¿∩
- ¿¡«ßΓαá¡¡«ú« ∩ºδ¬á, úñÑ »ÑαÑσ«ñ ¿º »α«»¿ß¡δσ ó ºáú½áó¡δÑ íπ¬óδ ß½«ªÑ¡ ¿½¿
- ¡Ñ󫺼«ªÑ¡ . é «í«¿σ ß½πτá∩σ ñ½¿¡á ¡Ñ«íσ«ñ¿¼«⌐ τáßΓ¿ - ¼¿¡¿¼á½∞¡á∩ ñ½¿¡á,
- ¬«Γ«αá∩ ñ«½ª¡á íδΓ∞ ñ½∩ Γ«τ¡«ú« αẽ¿τÑ¡¿∩. (ä½∩ ¼ÑΓ«ñá ß αáºñѽѡ¿Ñ¼
- ºá»∩Γ«⌐ »«ñαáºπ¼ÑóáÑΓß∩, τΓ« ß«¬αáΘÑ¡¿Ñ - φΓ« ¡áτὫ ¬½ετÑó«ú« ß½«óá.)
- Há»α¿¼Ñα
-
- "LTYPE,LT" ¿
- "LType"
-
- φ¬ó¿óá½Ñ¡Γ¡δÑ ß»Ñµ¿Σ¿¬áµ¿¿. üπñÑΓ ó«ß»α¿¡¿¼áΓ∞ß∩ ½εí«⌐ óó«ñ »«½∞º«óáΓѽ∩
- ¿º "LTYPE", "LTYP", "LTY" ¿½¿ "LT", ¡« "L" ¡Ññ«ßΓáΓ«τ¡«, ¡Ñ»«ñσ«ñ∩Γ ¿
- "LTSCALE" "LTYPEX".
-
- Éáßß¼«Γα¿¼ ß½ÑñπεΘπε Σπ¡¬µ¿ε, «»αÑñѽѡ¡πε »«½∞º«óáΓѽѼ:
-
- (defun getnum (/ x)
- (initget 1 "Pi Two-pi")
- (setq x (getreal "pi/Two-pi/<τ¿ß½«>:"))
- (cond ((eq x "Pi") pi)
- ((eq x "Two-pi:") (* 2.0 pi))
- (T x)
- )
- )
-
- çñÑß∞ INITGET »αÑ»∩ΓßΓóπÑΓ »πßΓ«¼π óó«ñπ ¿ πßΓá¡áó½¿óáÑΓ ß»¿ß«¬ ¿º ñóπσ
- ¬½ετÑóδσ ß½«ó "Pi" ¿ "Two-pi". çáΓѼ ¿ß»«½∞ºπÑΓß∩ GETREAL ñ½∩ ¿ºó½ÑτÑ¡¿∩
- óÑΘÑßΓóÑ¡¡«ú« τ¿ß½á ß »«¼«Θ∞ε »«ñ߬Ậ¿ "Pi/Two-pi/<τ¿ß½«>:" ¿ αѺπ½∞ΓáΓ
- »«¼ÑΘáÑΓß∩ ó ½«¬á½∞¡δ⌐ ß¿¼ó«½ ò. àß½¿ »«½∞º«óáΓѽ∞ óó«ñ¿Γ τ¿ß½«, φΓ«
- τ¿ß½« ó«ºóαáΘáÑΓß∩ Σπ¡¬µ¿Ñ⌐ GETNUM. Äñ¡á¬«, Ñß½¿ »«½∞º«óáΓѽ∞ óó«ñ¿Γ
- ¬½ετÑó«Ñ ß½«ó« "Pi" (¿½¿ »α«ßΓ« "P"), GETPOINT ó«ºóαáΘáÑΓ ¬½ετÑó«Ñ ß½«ó«
- "Pi". öπ¡¬µ¿∩ COND Σ¿¬ß¿απÑΓ φΓ« ¿ ó φΓ«¼ ß½πτáÑ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
- pi. K½ετÑó«Ñ ß½«ó« "Two-pi" Γαá¬ΓπÑΓß∩ á¡á½«ú¿τ¡«.
-
- =========================================================================
-
-
-
-
-
- - 46 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 滿߫¬ π»αáó½∩εΘ¿σ ß¿ú¡á½«ó ¿ ¬½ετÑóδσ ß½«ó, πßΓá¡áó½¿óáѼδÑ INITGET,
- »α¿¼Ñ¡¿¼δ Γ«½∞¬« ¬ ß½ÑñπεΘѼπ ºá INITGET óδºδóáѼ«¼π GETxxx ¿ ºáΓѼ
- áóΓ«¼áΓ¿τÑ߬¿ ßíαáßδóáεΓß∩. ¥Γ« »«ºó«½∩ÑΓ Getxxx-Σπ¡¬µ¿⌐ ¿ºíѪáΓ∞
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ »α¿ ß½ÑñπεΘѼ ó맮óÑ «τ¿ΘáΓ∞ ߻ѵ¿á½∞¡δÑ ß«ßΓ«∩¡¿∩.
-
- =========================================================================
-
- 4.61 (insers <Γ«τ¬á1> <Γ«τ¬á2> <Γ«τ¬á3> <Γ«τ¬á4> [<onseg>])
-
- öπ¡¬µ¿∩ INTERS »α«óÑα∩ÑΓ ñóá «ΓαѺ¬á ¡á »ÑαÑßÑτÑ¡¿Ñ ¿ ó«ºóαáΘáÑΓ Γ«τ¬π
- »ÑαÑßÑτÑ¡¿∩ ¿½¿ nil, Ñß½¿ «¡¿ ¡Ñ »ÑαÑßѬáεΓß∩. <Æ«τ¬á1> ¿ <Γ«τ¬á2>
- ¬αá⌐¡¿Ñ Γ«τ¬¿ »Ñαó«ú« «ΓαѺ¬á, <Γ«τ¬á3> <Γ«τ¬á4> - ¬αá⌐¡¿Ñ Γ«τ¬¿ óΓ«α«ú«
- «ΓαѺ¬á. àß½¿ Σá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ <onseg> »α¿ßπΓßΓóπÑΓ ¿ ∩ó½∩ÑΓß∩ nil,
- Γ« «ΓαѺ¬¿ íπñπΓ ó«ß»α¿¡¿¼áΓ∞ß∩ íÑ߬«¡Ñτ¡«⌐ ñ½¿¡δ ¿ INTERS íπñÑΓ ó«ºóαáΘáΓ∞
- Γ«τ¬π »ÑαÑßÑτÑ¡¿∩ ñáªÑ, Ñß½¿ «¡á ¡áσ«ñ¿Γß∩ ºá ¬αá⌐¡¿¼¿ Γ«τ¬á¼¿ «ñ¡«ú« ¿½¿
- «í«¿σ «ΓαѺ¬«ó. àß½¿ àß½¿ ªÑ áαúπ¼Ñ¡Γ <onseg> «ΓßπΓßΓóπÑΓ ¿½¿ ¡Ñ ∩ó½∩ÑΓß∩
- nil, Γ« Γ«τ¬á »ÑαÑßÑτÑ¡¿∩ ñ«½ª¡á ¡áσ«ñ¿Γß∩ ¡á «í«¿σ «ΓαѺ¬áσ ¿½¿ INTERS
- óÑα¡ÑΓ nil.
- Há»α¿¼Ñα, ñá¡«:
-
- (setq a '(1.0 1.0) b '(9.0 9.0))
- (setq c '(4.0 1.0) c '(4.0 2.0))
-
- Γ«úñá:
-
- (inters a b c d) ó«ºóαáΘáÑΓ nil
- (inters a b c d T) ó«ºóαáΘáÑΓ nil
- (inters a b c d nil) ó«ºóαáΘáÑΓ (4.000000 4.000000)
-
- 4.62 (itoa <µÑ½«Ñ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »αÑ«íαẫóá¡¿Ñ µÑ½«ú« τ¿ß½á ó ßΓ᫬«óπε ¬«¡ßΓá¡Γπ.
- Há»α¿¼Ñα:
-
- (itoa 33) ó«ºóαáΘáÑΓ "33"
- (itoa -17) ó«ºóαáΘáÑΓ "-17"
-
- 4.63 (lambda <áαúπ¼Ñ¡Γδ> <óδαáªÑ¡¿Ñ> ...)
-
- ¥Γá Σπ¡¬µ¿∩ «»αÑñѽ∩ÑΓ "á¡«¡¿¼¡πε" Σπ¡¬µ¿ε. Ä¡á «íδτ¡« ¿ß»«½∞ºπÑΓß∩,
- ¬«úñá »α¿ «»αÑñѽѡ¿¿ ¡«ó«∩ Σπ¡¬µ¿¿ ¡Ñ ¿¼Ñ¡πÑΓß∩. ¥Γ« ΓᬠªÑ
- ñѽáÑΓ ºá¼δßѽ »α«úαá¼¼¿ßΓá í«½ÑÑ «τÑó¿ñ¡δ¼, ºá ßτÑΓ Γ«ú«, τΓ« Σπ¡¬µ¿∩
- ¡áσ«ñ¿Γß∩ Γá¼ ªÑ, úñÑ «¡á ¿ß»«½∞ºπÑΓß∩. LAMBDA ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
- »«ß½Ññ¡Ñú« <óδαáªÑ¡¿∩> ¿ τáßΓ« ¿ß»«½∞ºπÑΓß∩ ó ßó∩º¿ ß APPLY ¿/¿½¿ MAPCAR
- ñ½∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ ¡áñ ß»¿ß¬«¼.
- Há»α¿¼Ñα:
-
- (apply '(lambda (x y z)
- (* x (-y z))
- )
- '(5 20 14)
- ) ó«ºóαáΘáÑΓ 30
-
- ¿:
-
- (mapcar '(lambda (x)
-
-
-
-
- - 47 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (setq counter (1+ counter))
- (* x 5)
- )
- '(24 -6 10.2)
- ) ó«ºóαáΘáÑΓ (10 20 -30 51.000000)
-
- 4.64 (last <ᯨ᮪>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »«ß½Ññ¡¿⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á. <滿߫¬> ¡Ñ ñ«½ªÑ¡ íδΓ∞
- αáóÑ¡ nil. Há»α¿¼Ñα:
-
- (last '(a b c d e)) ó«ºóαáΘáÑΓ E
- (last '(a b c (d e))) ó«ºóαáΘáÑΓ (D E)
-
- Kᬠó¿ñ¡«, LAST ó«ºóαáΘáÑΓ ½¿í« áΓ«¼ ½¿í« ß»¿ß«¬.
-
- =========================================================================
-
- Há »Ñαóδ⌐ óºú½∩ñ LAST ¼«ªÑΓ ∩ó½∩Γ∞ß∩ σ«α«Φ¿¼ »πΓѼ ñ½∩ ¿ºó½ÑτÑ¡¿∩
- ¬««αñ¿¡áΓδ Y Γ«τ¬¿. ò«Γ∩ φΓ« Γᬠñ½∩ 2-σ ¼Ñα¡δσ Γ«τѬ (ß»¿ß«¬ ¿º 2-σ
- ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ). LAST íπñÑΓ ó«ºóαáΘáΓ∞ ¬««αñ¿¡áΓπ Z ó ß½πτáÑ
- 3-σ ¼Ñα¡«⌐ Γ«τ¬¿. ùΓ«íδ óáΦ¿ Σπ¡¬µ¿¿ αáí«Γ὿ ¬á¬ ß½ÑñπÑΓ »α¿ ºáñá¡¿¿
- ¿ 2-σ ¼Ñα¡δσ ¿ 3-σ ¼Ñα¡δσ Γ«τѬ, ¼δ αѬ«¼Ñ¡ñπѼ óá¼ ¿ß»«½∞º«óáΓ∞ CADR
- ñ½∩ ¿ºó½ÑτÑ¡¿∩ ¬««αñ¿¡áΓδ Y ¿ CADDR ñ½∩ ¿ºó½ÑτÑ¡¿∩ ¬««αñ¿¡áΓδ Z.
-
- =========================================================================
-
- 4.65 (length <ᯨ᮪>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ µÑ½«Ñ τ¿ß½«, «º¡áτáεΘÑÑ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó
- <ß»¿ß¬Ñ>. Há»α¿¼Ñα:
-
- (length '(a b c d)) ó«ºóαáΘáÑΓ 4
- (length '(a b (c d))) ó«ºóαáΘáÑΓ 3
- (length '()) ó«ºóαáΘáÑΓ 0
-
- 4.66 (list <óδαáªÑ¡¿Ñ> ...)
-
- ¥Γá Σπ¡¬µ¿∩ íÑαÑΓ ½εí«Ñ τ«ß½« óδαáªÑ¡¿⌐ (<óδαáªÑ¡¿Ñ>) ¿ «αúá¡¿ºπÑΓ ¿º
- ¡¿σ ßΓ᫬π, ó«ºóαáΘá∩ ß»¿ß«¬.
- Há»α¿¼Ñα:
-
- (list 'a 'b 'c) ó«ºóαáΘáÑΓ (A B C)
- (list 'a '(b c) 'd) ó«ºóαáΘáÑΓ (A (B C) D)
- (list 3.9 6.7) ó«ºóαáΘáÑΓ (3.90000 6.70000)
-
- é AutoLISP φΓ¿ Σπ¡¬µ¿¿ τáßΓ« ¿ß»«½∞ºπεΓß∩ ñ½∩ «»αÑñѽѡ¿∩ º¡áτÑ¡¿⌐
- 2-σ ¿ 3-σ ¼Ñα¡δσ Γ«τѬ (ß»¿ß«¬ ¿º 2-σ ¿½¿ 3-σ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ).
-
- 4.67 (listp <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ T, Ñß½¿ <φ½Ñ¼Ñ¡Γ> ß»¿ß«¬, ¿¡áτÑ nil.
- Há»α¿¼Ñα:
-
- (listp '(a b c)) ó«ºóαáΘáÑΓ T
- (listp 'a) ó«ºóαáΘáÑΓ nil
-
-
-
-
- - 48 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (listp 4.343) ó«ºóαáΘáÑΓ nil
-
- 4.68 (load <¿¼∩ Σá⌐½á>)
-
- ¥Γá Σπ¡¬µ¿∩ ºáúαπªáÑΓ Σá⌐½ óδαáªÑ¡¿⌐ AutoLISPá ¿ óδ»«½¡∩ÑΓ φΓ¿
- óδαáªÑ¡¿∩. <ê¼∩ Σá⌐½á> - φΓ« ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá, ¬«Γ«αá∩ »αÑñßΓáó½∩ÑΓ
- ß«í«⌐ ¿¼∩ Σá⌐½á íѺ αáßΦ¿αÑ¡¿∩ (»«ñαáºπ¼ÑóáÑΓß∩ αáßΦ¿αÑ¡¿Ñ ".lsp"). <ê¼∩
- Σá⌐½á> ¼«ªÑΓ ó¬½ετáΓ∞ »αÑΣ¿¬ß ñ¿αÑ¬Γ«α¿¿, ¡á»α¿¼Ñα "/function/test1". Há
- ß¿ßΓѼáσ MS-DOS/PS-DOS ñ«»π߬áÑΓß∩ ΓᬠªÑ ¿ß»«½∞º«óáΓ∞ íπ¬óπ πßΓα«⌐ßΓóá
- óó«ñá/óδó«ñá ¿ óδ ¼«ªÑΓÑ »«½∞º«óáΓ∞ß∩ «íαáΓ¡«⌐ ¬«ß«⌐ τÑαΓ«⌐ ó¼ÑßΓ« »α∩¼«⌐
- ¬«ß«⌐ τÑαΓδ (¡« »«¼¡¿ΓÑ, τΓ«íδ óóÑßΓ¿ ó ßΓ᫬π «ñ¡π «íαáΓ¡πε τÑαΓπ óδ
- ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ "\\").
-
- àß½¿ «»Ñαᵿ∩ πß»ÑΦ¡« ºáóÑαΦ¿¡á, LOAD ó«ºóαáΘáÑΓ ¿¼∩ »«ß½Ññ¡Ñ⌐
- Σπ¡¬µ¿¿, «»αÑñѽѡ¡«⌐ ó Σá⌐½Ñ. àß½¿ «»Ñαᵿ∩ ¡Ñ óδ»«½¡Ñ¡á, LOAD
- ó«ºóαáΘáÑΓ ¿¼∩ Σá⌐½á ó ó¿ñÑ ßΓ᫬«ó«ú« óδαáªÑ¡¿∩.
-
- Há»α¿¼Ñα, »αÑñ»«½«ª¿¼, τΓ« Σá⌐½ "/fred/test1.lsp" ß«ñÑαª¿Γ DEFUN,
- «»αÑñѽ∩εΘπε Σπ¡¬µ¿ε MY-FUNC, ¿ τΓ« Σá⌐½ "test2.lsp" ¡Ñ ßπΘÑßΓóπÑΓ:
-
- (load "/fred/test1") ó«ºóαáΘáÑΓ MY-FUNC
- (load "test2") ó«ºóαáΘáÑΓ "test2"
-
- ===========================================================================
-
- öπ¡¬µ¿∩ LOAD ¡Ñ ¼«ªÑΓ óδºδóáΓ∞ß∩ ¿º ñαπú«⌐ Σπ¡¬µ¿¿ LISP. Ä¡á ñ«½ª¡á
- óδºδóáΓ∞ß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ß ¬½áó¿áΓπαδ (¿½¿ ¿º ¼Ñ¡ε ¿½¿ ß¬α¿»Γ-Σá⌐½á),
- ó Γ« óαѼ∩ ¬á¬ ¡¿ «ñ¡á ñαπúá∩ Σπ¡¬µ¿∩ LISP ¡Ñ ¡áσ«ñ¿Γß∩ ó »α«µÑßßÑ
- óδ»«½¡Ñ¡¿∩.
-
- ===========================================================================
-
- Káªñδ⌐ αáº, ¬«úñá ÉÑñá¬Γ«α ùÑαΓѪÑ⌐ AutoCAD ¡áτ¿¡áÑΓ «τÑαÑñ¡«⌐
- ßÑá¡ß, AutoLISP ºáúαπªáÑΓ Σá⌐½ "acad.lsp", Ñß½¿ «¡ ßπΘÑßΓóπÑΓ. éδ ¼«ªÑΓÑ
- »«¼ÑßΓ¿Γ∞ «»αÑñѽѡ¿∩ Σπ¡¬µ¿⌐ ¿ τáßΓ« ¿ß»«½∞ºπѼδÑ ¬«¼á¡ñδ ó φëà Σá⌐½ ¿
- «¡¿ íπñπΓ ¿ß»«½¡∩Γ∞ß∩ áóΓ«¼áΓ¿τÑ߬¿, ¬«úñá óδ íπñÑΓÑ αÑñá¬Γ¿α«óáΓ∞
- τÑαΓѪ¿.
-
- 4.69 (log <τ¿ß½«>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡áΓπαá½∞¡δ⌐ ½«úáα¿Σ¼ <τ¿ß½á> ¬á¬
- ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«. Há»α¿¼Ñα:
-
- (log 4.5) ó«ºóαáΘáÑΓ 1.504077
- (log 1.22) ó«ºóαáΘáÑΓ 0.198850
-
-
- lsp-4-7
-
- 4.70 (logand <τ¿ß½«> <τ¿ß½«> ...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ ñÑ⌐ßΓó¿∩ »«í¿Γ«ó«ú« ê ¡áñ ß»¿ß¬«¼
- <τ¿ßѽ>. ¥Γ¿ <τ¿ß½á> ñ«½ª¡δ íδΓ∞ µÑ½δÑ ¿ αѺπ½∞ΓáΓ - ΓᬠªÑ µÑ½«Ñ τ¿ß½«.
- Há»α¿¼Ñα:
-
- (logand 7 15 3) ó«ºóαáΘáÑΓ 3
-
-
-
-
- - 49 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (logand 2 3 15) ó«ºóαáΘáÑΓ 2
- (logand 8 3 4) ó«ºóαáΘáÑΓ 0
-
- 4.71 (logior <τ¿ß½«> <τ¿ß½«> ...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ ñÑ⌐ßΓó¿∩ »«í¿Γ«ó«ú« êïê ¡áñ ß»¿ß¬«¼
- <τ¿ßѽ>. <ù¿ß½á> ñ«½ª¡δ íδΓ∞ µÑ½δÑ ¿ αѺπ½∞ΓáΓ ΓᬠªÑ µÑ½«Ñ τ¿ß½«.
- Há»α¿¼Ñα:
-
- (logior 1 2 4) ó«ºóαáΘáÑΓ 7
- (logior 9 3) ó«ºóαáΘáÑΓ 11
-
- 4.72 (lsh <τ¿ß½«1> <τ¿ß½« í¿Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »«í¿Γ«óδ⌐ ßñó¿ú <τ¿ß½á1> ¡á <τ¿ß½« í¿Γ>.
- <ù¿ß½«1> ¿ <τ¿ß½« í¿Γ> ñ«½ª¡δ íδΓ∞ µÑ½δ¼¿ ¿ αѺπ½∞ΓáΓ - Γ«ªÑ µÑ½«Ñ.
-
- àß½¿ <τ¿ß½« í¿Γ> »«½«ª¿Γѽ∞¡«, Γ« <τ¿ß½«1> ßñó¿úáÑΓß∩ ó½Ñó«; Ñß½¿
- «Γα¿µáΓѽ∞¡« - Γ« ó»αáó«. é ¬áªñ«¼ ß½πτáÑ "¡π½ÑóδÑ" í¿Γδ ñ«íáó½∩εΓß∩, á
- ßñó¿úáѼδÑ í¿Γδ ßíαáßδóáεΓß∩. àß½¿ "Ññ¿¡¿τ¡δ⌐" í¿Γ ßñó¿úáÑΓß∩ ó óδßΦ¿⌐
- (16-⌐) αáºα∩ñ µÑ½«ú« τ¿ß½á, º¡á¬ τ¿ß½á ¼Ñ¡∩ÑΓß∩.
-
- Há»α¿¼Ñα:
-
- (lsh 2 1) ó«ºóαáΘáÑΓ 4
- (lsh 2 -1) ó«ºóαáΘáÑΓ 1
- (lsh 40 2) ó«ºóαáΘáÑΓ 160
- (lsh 16384 1) ó«ºóαáΘáÑΓ -32768
-
- 4.73 (mopcar <Σπ¡¬µ¿∩> <ß»¿ß«¬1>...<ß»¿ß«¬n>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ αѺπ½∞ΓáΓ óδ»«½¡Ñ¡¿∩ <Σπ¡¬µ¿¿> ¡áñ
- «Γñѽ∞¡δ¼¿ φ½Ñ¼Ñ¡ΓἿ «Γ <ß»¿ß¬á1> ñ« <ß»¿ß¬á n> óó«ñ¿¼δ¼¿ ¬á¬ áαúπ¼Ñ¡-
- Γδ ó <Σπ¡¬µ¿ε>. ù¿ß½« <ß»¿ß¬«ó> ñ«½ª¡« ß««ΓóÑΓßΓó«óáΓ∞ τ¿ß½π áαúπ¼Ñ¡Γ«ó,
- ΓαÑíπεΘ¿σß∩ ñ½∩ <Σπ¡¬µ¿¿>. Há»α¿¼Ñα:
-
- (mapcar '1+ '(10 20 30)) ó«ºóαáΘáÑΓ (11 21 31)
-
- φΓ« φ¬ó¿óá½Ñ¡Γ¡«:
-
- (1+ 10)
- (1+ 20)
- (1+ 30)
-
- Kα«¼Ñ Γ«ú«, τΓ« MAPCAR ó«ºóαáΘáÑΓ ß»¿ß«¬ αѺπ½∞ΓáΓ«ó. Æá¬ ªÑ:
-
- (mapcar '+ '(10 20 30) '(4 3 2)) ó«ºóαáΘáÑΓ (14 23 32)
-
- φΓ« Γ« ªÑ ßἫÑ, τΓ« ¿:
-
- (+ 10 4)
- (+ 20 3)
- (+ 30 2)
-
- öπ¡¬µ¿∩ LAMBDA ¼«ªÑΓ ºáñáóáΓ∞ "á¡«¡¿¼¡πε" Σπ¡¬µ¿ε ñ½∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿Ñ⌐
- MAPCAR. ¥Γ« »«½Ñº¡« ¬«úñá ¡Ñ¬«Γ«αδÑ ¿º áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿ ¬«¡ßΓá¡Γδ ¿½¿
-
-
-
-
- - 50 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- »ÑαÑñáεΓß∩ ¬á¬¿¼-½¿í« ¿¡δ¼ «íαẫ¼.
- Há»α¿¼Ñα:
-
- (mapcar '(lambda (x) (+ x 3)) '(10 20 30)) ó«ºóαáΘáÑΓ (13 23 33)
-
- ¿:
-
- (mapcar '(lambda (x y z)
- (* x (- y z))
- )
- '(5 6) '(20 30) '(14 5.0)
- ) ó«ºóαáΘáÑΓ (30 150.000000)
-
- 4.74 (max <τ¿ß½«> <τ¿ß½«>...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡á¿í«½∞ΦÑÑ ¿º ºáñá¡¡δσ <τ¿ßѽ>. Káªñ«Ñ
- <τ¿ß½«> ¼«ªÑΓ íδΓ∞ ñÑ⌐ßΓó¿Γѽ∞¡δ¼ ¿½¿ µÑ½δ¼. Há»α¿¼Ñα:
-
- (max 4.07 -144) ó«ºóαáΘáÑΓ 4.070000
- (max -88 19 5 2) ó«ºóαáΘáÑΓ 19
-
- 4.75 (member <óδαáªÑ¡¿Ñ> <ß»¿ß«¬>)
-
- ¥Γá Σπ¡¬µ¿∩ »α«ß¼áΓα¿óáÑΓ <ß»¿ß«¬> - óßΓαÑτáÑΓß∩ ½¿ <óδαáªÑ¡¿Ñ> ¿
- ó«ºóαáΘáÑΓ τáßΓ∞ <ß»¿ß¬á>, ¡áτ¿¡áεΘπεß∩ ß »Ñαó«ú« ¡á⌐ñÑ¡¡«ú« <óδαáªÑ¡¿∩>.
- àß½¿ ó <ß»¿ß¬Ñ> ¡ÑΓ <óδαáªÑ¡¿∩>, MEMBER ó«ºóαáΘáÑΓ nil.
- Há»α¿¼Ñα:
-
- (member 'c '(a b c d e)) ó«ºóαáΘáÑΓ (C D E)
- (member 'q '(a b c d e)) ó«ºóαáΘáÑΓ nil
-
- 4.76 (menucmd <ßΓ᫬á>)
-
- ¥Γá Σπ¡¬µ¿∩ ñáÑΓ ó«º¼«ª¡«ßΓ∞ LISP-»α«úαἼἠ»ÑαѬ½ετáΓ∞ß∩ ßαÑñ¿
- »«ñßΓαá¡¿µ ó ¼Ñ¡ε AutoCAD . Æá¬¿¼ «íαẫ¼ LISP-»α«úαá¼¼á ¼«ªÑΓ
- ß«ú½áß«óá¡¡« αáí«ΓáΓ∞ ß ºáúαπªÑ¡¡δ¼¿ Σá⌐½á¼¿ ¼Ñ¡ε, óδßóÑτ¿óá∩
- ß««ΓóÑΓßΓóπεΘ¿Ñ »«ñ¼Ñ¡ε ó Γ« óαѼ∩, ¬«úñá ΓαÑíπÑΓß∩ óó«ñ »«½∞º«óáΓѽ∩.
- MENUCMD óßÑúñá ó«ºóαáΘáÑΓ nil. Çαúπ¼Ñ¡Γ <ßΓ᫬á> ºá»¿ßδóáÑΓß∩ ó ß½ÑñπεΘÑ⌐
- Σ«α¼Ñ:
-
- αáºñѽ = »«ñ¼Ñ¡ε
-
- úñÑ:
-
- αáºñѽ ô¬áºδóáÑΓ αáºñѽ ¼Ñ¡ε. ä«»πßΓ¿¼δÑ ¿¼Ñ¡á:
-
- S ñ½∩ ¥¬αá¡¡«ú« (SCREEN) ¼Ñ¡ε
- B ñ½∩ K¡«»«τ¡«ú« (BUTTONS) ¼Ñ¡ε
- I ñ½∩ »¿¬Γ«úαáΣ¿τÑ߬«ú« (ICON) ¼Ñ¡ε
- P1-P10 ñ½∩ »áñáεΘÑú« (POP) ¼Ñ¡ε ß 1 »« 10
- Æ1-Æ4 ñ½∩ ¼Ñ¡ε »½á¡ΦÑΓá (TABLET) ß 1 »« 4
- Ç1 ñ½∩ ñ«íáó«τ¡«ú« (AUX1) ¼Ñ¡ε
-
- »«ñ¼Ñ¡ε ô¬áºδóáÑΓ ¬á¬«Ñ »«ñ¼Ñ¡ε á¬Γ¿ó¿º¿α«óáΓ∞. ê¼Ñ¡Ñ¼ ñ«½ª¡á íδΓ∞
- ½¿í« «ñ¡á ¿º ¼ÑΓ«¬ »«ñ¼Ñ¡εε (íѺ "**") ó ΓѬπΘѼ ºáúαπ-
- ªÑ¡¡«¼ Σá⌐½Ñ ¿½¿ ¿¼∩ «ñ¡«ú« ¿º αáºñѽ«ó â½áó¡«ú« ¼Ñ¡ε.
-
-
-
-
- - 51 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- ä½∩ ñá½∞¡Ñ⌐ΦÑ⌐ ¿¡Σ«α¼áµ¿¿ ß¼«Γα¿ΓÑ Åα¿½«ªÑ¡¿Ñ ü Éπ¬«ó«ñßΓóá AutoCAD.
- çá¼ÑΓ¿¼, τΓ« ¿ß»«½∞ºπѼδ⌐ ñ½∩ ßß佬¿ ¡á »«ñ¼Ñ¡ε º¡á¬ "$" ó Σá⌐½Ñ ¼Ñ¡ε
- ºñÑß∞ ¡Ñ ¿ß»«½∞ºπÑΓß∩. Há»α¿¼Ñα:
-
- (menucmd "S=OSNARP")
-
- íπñÑΓ «º¡áτáΓ∞, τΓ« »«ñ¼Ñ¡ε "OSNAP" »«∩ó¿Γß∩ ¡á φ¬αá¡Ñ (¿¼ÑÑΓß∩
- ó ó¿ñπ, τΓ« Γá¬«Ñ »«ñ¼Ñ¡ε ßπΘÑßΓóπÑΓ ó ΓѬπΘѼ Σá⌐½Ñ ¼Ñ¡ε). Æá¬ ªÑ:
-
- (menucmd "B=MY-BUTTONS")
-
- íπñÑΓ »α¿ßóá¿óáΓ∞ »«ñ¼Ñ¡ε "MY-BUTTONS" ¬¡«»«τ¡«¼π ¼Ñ¡ε.
-
- ùΓ« ¬áßáÑΓß∩ »¿¬Γ«úαáΣ¿τÑ߬¿σ ¿ »áñáεΘ¿σ ¼Ñ¡ε, Γ« ñ½∩ ¡¿σ ñ«»πßΓ¿¼«
- ¿¼∩ »«ñ¼Ñ¡ε "*" ¿ «º¡áτáÑΓ «¡« óδßóÑτ¿óá¡¿Ñ »«ñ¼Ñ¡ε ¿º ΓѬπΘÑú« αáºñѽá
- ¼Ñ¡ε.
- Há»α¿¼Ñα:
-
- (menucmd "P1=NUMERIC")
- (menucmd "P1=*")
-
- óδíÑαÑΓ »«ñ¼Ñ¡ε "NUMERIC" ¿º »áñáεΘÑú« ¼Ñ¡ε 1 ¿ óδßóÑΓ¿Γ Ñú« ¡á φ¬αá¡Ñ.
-
- MENUCMD óßÑúñá ó«ºóαáΘáÑΓ nil.
-
- 4.77 (min <τ¿ß½«> <τ¿ß½«>...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡á¿¼Ñ¡∞ΦÑÑ ¿º ºáñá¡¡δσ <τ¿ßѽ>. Káªñ«Ñ
- <τ¿ß½«> ¼«ªÑΓ íδΓ∞ ñÑ⌐ßΓó¿Γѽ∞¡δ¼ ¿½¿ µÑ½δ¼. Há»α¿¼Ñα:
-
- (min 683 -10.0) ó«ºóαáΘáÑΓ -10.000000
- (min 73 2 48 5) ó«ºóαáΘáÑΓ 2
-
- 4.78 (minusp <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ T, Ñß½¿ <φ½Ñ¼Ñ¡Γ> ñÑ⌐ßΓó¿Γѽ∞¡«Ñ ¿½¿ µÑ½«Ñ
- τ¿ß½« ¿¼ÑεΦÑÑ «Γα¿µáΓѽ∞¡«Ñ º¡áτÑ¡¿Ñ, ¿¡áτÑ «¡á ó«ºóαáΘáÑΓ nil. Ä¡á
- ¡Ñ «»αÑñѽѡá ñ½∩ ñαπú¿σ Γ¿»«ó <φ½Ñ¼Ñ¡Γ«ó>. Há»α¿¼Ñα:
-
- (minus -1) ó«ºóαáΘáÑΓ T
- (minusp -4.293) ó«ºóαáΘáÑΓ T
- (minusp 830.2) ó«ºóαáΘáÑΓ nil
-
- 4.79 (not <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Æ, Ñß½¿ óδαáªÑ¡¿Ñ - nil, ¿¡áτÑ nil. Äíδτ¡«
- Σπ¡¬µ¿∩ NULL ¿ß»«½∞ºπÑΓß∩ ñ½∩ ß»¿ß¬«ó, á NOT ñ½∩ ñαπú¿σ Γ¿»«ó ñá¡¡δσ ó
- ßó∩º¿ ß ¬á¬¿¼-½¿í« Γ¿»«¼ π»αáó½∩εΘ¿σ Σπ¡¬µ¿⌐. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 123)
- (setq b "string")
- (setq c nil)
-
-
-
-
-
- - 52 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Γ«úñá:
-
- (not a) ó«ºóαáΘáÑΓ nil
- (not b) ó«ºóαáΘáÑΓ nil
- (not c) ó«ºóαáΘáÑΓ T
- (not '()) ó«ºóαáΘáÑΓ T
-
-
- lsp-4-8
-
- 4.80 (nth <n> <ᯨ᮪>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ "φ¡¡δ⌐" φ½Ñ¼Ñ¡Γ <ß»¿ß¬á>, úñÑ <n> - ¡«¼Ñα
- φ½Ñ¼Ñ¡Γá (¡«½∞ - »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ). àß½¿ <n> í«½∞ΦÑ, τѼ ¡«¼Ñα »«ß½Ññ¡Ñú«
- φ½Ñ¼Ñ¡Γá <ß»¿ß¬á>, ó«ºóαáΘáÑΓß∩ nil. Há»α¿¼Ñα:
-
- (nth 3 '(a b c d e)) ó«ºóαáΘáÑΓ D
- (nth 0 '(a b c d e)) ó«ºóαáΘáÑΓ A
- (nth 5 '(a b c d e)) ó«ºóαáΘáÑΓ nil
-
- 4.81 (null <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Æ, Ñß½¿ <φ½Ñ¼Ñ¡Γ> óδτ¿ß½∩ÑΓß∩ ó nil, ¿¡áτÑ
- nil. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 123)
- (setq b "string")
- (setq c nil)
-
- Γ«úñá:
-
- (null a) ó«ºóαáΘáÑΓ nil
- (null b) ó«ºóαáΘáÑΓ nil
- (null c) ó«ºóαáΘáÑΓ T
- (null '()) ó«ºóαáΘáÑΓ T
-
- 4.82 (numberp <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Æ, Ñß½¿ <φ½Ñ¼Ñ¡Γ> - µÑ½«Ñ ¿½¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«,
- ¿¡áτÑ nil. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 123)
- (setq b 'a)
-
- Γ«úñá:
-
- (numberp 4) ó«ºóαáΘáÑΓ T
- (numberp 3.8348) ó«ºóαáΘáÑΓ T
- (numberp "Howdy") ó«ºóαáΘáÑΓ nil
- (numberp 'a) ó«ºóαáΘáÑΓ nil
- (numberp a) ó«ºóαáΘáÑΓ T
- (numberp b) ó«ºóαáΘáÑΓ nil
- (numberp (eval b)) ó«ºóαáΘáÑΓ T
-
- 4.83 (open <¿¼∩ Σá⌐½á> <αѪ¿¼>)
-
- ¥Γá Σπ¡¬µ¿∩ «Γ¬αδóáÑΓ Σá⌐½ ñ½∩ ñ«ßΓπ»á Σπ¡¬µ¿⌐ éó«ñá/éδó«ñá (I/O)
- AutoLISP. Ä¡á ó«ºóαáΘáÑΓ «»¿ßáΓѽ∞ Σá⌐½á ñ½∩ ¿ß»«½∞º«óá¡¿∩ ñαπú¿¼¿
-
-
-
-
- - 53 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Σπ¡¬µ¿∩¼¿ éó«ñá/éδó«ñá, »«φΓ«¼π «¡á ñ«½ª¡á »α¿ßóá¿óáΓ∞ß∩ Σπ¡¬µ¿Ñ⌐ SETQ
- ß¿¼ó«½π. Há»α¿¼Ñα:
-
- (setq a (open "file.ext" "r"))
-
- <¿¼∩ Σá⌐½á> - φΓ« ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá, π¬áºδóáεΘá∩ ¿¼∩ ¿ αáßΦ¿αÑ¡¿Ñ
- «Γ¬αδóáѼ«ú« Σá⌐½á. <ÉѪ¿¼> - φΓ« Σ½áú τΓÑ¡¿∩/ºá»¿ß¿. ¥Γ« ñ«½ª¡á íδΓ∞
- ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá, ß«ßΓ«∩Θá∩ ¿º «ñ¡«⌐ íπ¬óδ, ¡áíαá¡¡«⌐ ¡á ¡¿ª¡Ñ¼
- αÑú¿ßΓαÑ. ä«»πßΓ¿¼δÑ º¡áτÑ¡¿∩ íπ¬ó αѪ¿¼á «»¿ßδóáεΓß∩ ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ.
-
- !~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- !ÉѪ¿¼ OPEN ! Ä»¿ßá¡¿Ñ !
- !-----------!---------------------------------------------------------!
- ! "r" ! ÄΓ¬αδΓ∞ ñ½∩ τΓÑ¡¿∩. àß½¿ <¿¼∩ Σá⌐½á> ¡Ñ ßπΘÑßΓóπÑΓ, !
- ! ! ó«ºóαáΘáÑΓß∩ nil. !
- !-----------!---------------------------------------------------------!
- ! "w" ! ÄΓ¬αδΓ∞ ñ½∩ ºá»¿ß¿. àß½¿ <¿¼∩ Σá⌐½á> ¡Ñ ßπΘÑßΓóπÑΓ, !
- ! ! ß«ºñáÑΓß∩ ¡«óδ⌐ Σá⌐½ ¿ «Γ¬αδóáÑΓß∩. àß½¿ <¿¼∩ Σá⌐½á> !
- ! ! πªÑ ßπΘÑßΓóπÑΓ, ¡áσ«ñ∩Θ¿Ñß∩ ó ¡Ñ¼ ñá¡¡δÑ íπñπΓ !
- ! ! »ÑαѺỿßá¡δ. !
- !-----------!---------------------------------------------------------!
- ! "á" ! ÄΓ¬αδΓ∞ ñ½∩ ñ«íáó½Ñ¡¿∩. àß½¿ <¿¼∩ Σá⌐½á> ¡Ñ ßπΘÑßΓóπÑΓ,!
- ! ! ß«ºñáÑΓß∩ ¡«óδ⌐ Σá⌐½ ¿ «Γ¬αδóáÑΓß∩. àß½¿ <¿¼∩ Σá⌐½á> !
- ! ! πªÑ ßπΘÑßΓóπÑΓ, «¡ íπñÑΓ «Γ¬αδΓ ¿ »«¼ÑΘÑ¡ Γᬿ¼ !
- ! ! «íαẫ¼, τΓ« ½εíδÑ ¡«óδÑ ñá¡¡δÑ íπñπΓ ºá»¿ßδóáΓ∞ß∩ !
- ! ! ó Σá⌐½ óß½Ññ ºá πªÑ ßπΘÑßΓóπεΘ¿¼¿. !
- ! ! é ß¿ßΓѼáσ DOS ¡Ñ¬«Γ«αδÑ »α«úαá¼¼δ ¿ ΓѬßΓ«óδÑ !
- ! ! αÑñá¬Γ«αδ ºá»¿ßδóáεΓΓѬßΓ«óδÑ Σá⌐½δ ß ¼áα¬Ñα«¼ ¬«¡µá !
- ! ! Σá⌐½á (CTRL Z, ñÑß∩Γ¿τ¡δ⌐ ¬«ñ ASCII 26) ó ¬«¡µÑ ΓѬßΓá.!
- ! ! ù¿Γá∩ ΓѬßΓ«óδ⌐ Σá⌐½, DOS ó«ºóαáΘáÑΓ ß«ßΓ«∩¡¿Ñ ¬«¡µá !
- ! ! Σá⌐½á, Ñß½¿ óßΓαÑΓ¿Γ ¼áα¬Ñα CTRL Z, ñáªÑ Ñß½¿ »«ß½Ñ !
- ! ! ¼áα¬Ñαá »α¿ßπΓßΓóπεΓ ÑΘÑ ñá¡¡δÑ. àß½¿ óδ ¡á¼ÑαÑ¡δ !
- ! ! ¿ß»«½∞º«óáΓ∞ αѪ¿¼ "á" Σπ¡¬µ¿¿ OPEN ñ½∩ ñ«íáó½Ñ¡¿∩ !
- ! ! ñá¡¡δσ ó Σá⌐½δ, ß«ºñá¡¡δÑ ñαπú¿¼¿ »α«úαἼἿ, !
- ! ! πñ«ßΓ«óÑαΓÑß∞, τΓ« ñαπúá∩ »α«úαá¼¼á ¡Ñ óßΓáó¿½á ¼áα¬Ñαδ!
- ! ! CTRL Z ó ¬«¡µÑ ßó«¿σ ΓѬßΓ«óδσ Σá⌐½«ó. !
- !___________!_________________________________________________________!
-
- ÅαÑñ»«½«ª¿¼, τΓ« »«¿¼Ñ¡«óá¡¡δÑ Σá⌐½δ ó ß½ÑñπεΘѼ »α¿¼ÑαÑ ¡Ñ ßπΘÑßΓóπεΓ:
-
- (setq f (open "new.tst" "w")) ó«ºóαáΘáÑΓ <File #nnn>
- (setq f (open "nosuch.fil" "r")) ó«ºóαáΘáÑΓ nil
- (setq f (open "longfile" "a")) ó«ºóαáΘáÑΓ <File #nnn>
-
- <¿¼∩ Σá⌐½á> ¼«ªÑΓ ó¬½ετáΓ∞ »αÑΣ¿¬ß ñ¿αÑ¬Γ«α¿¿, ¬á¬, ¡á»α¿¼Ñα,
- "/test/func3". Há ß¿ßΓѼáσ MS-DOS/PS-DOS ñ«»π߬áÑΓß∩ ΓᬠªÑ ¿ß»«½∞º«óáΓ∞
- íπ¬óπ πßΓα«⌐ßΓóá óó«ñá/óδó«ñá ¿ óδ ¼«ªÑΓÑ »«½∞º«óáΓ∞ß∩ «íαáΓ¡«⌐ ¬«ß«⌐
- τÑαΓ«⌐ ó¼ÑßΓ« »α∩¼«⌐ ¬«ß«⌐ τÑαΓδ (¡« »«¼¡¿ΓÑ, τΓ«íδ óóÑßΓ¿ ó ßΓ᫬π
- «ñ¡π «íαáΓ¡πε τÑαΓπ óδ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ "\\").
-
- Há»α¿¼Ñα:
-
- (setq f (open "new.tst" "w")) ó«ºóαáΘáÑΓ <File #nnn>
- (setq f (open "nosuch.fil" "r")) ó«ºóαáΘáÑΓ nil
-
-
-
-
-
- - 54 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 4.84 (or <óδαáªÑ¡¿Ñ>...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ½«ú¿τÑ߬«Ñ êïê ß»¿ß¬á óδαáªÑ¡¿⌐. OR «µÑ¡¿óáÑΓ
- óδαáªÑ¡¿∩ ß½Ñóá ¡á»αáó« ñ« ΓÑσ »«α, »«¬á ¡Ñ óßΓαÑΓ¿Γß∩ óδαáªÑ¡¿Ñ, óδτ¿-
- ß½∩Ѽ«Ñ ¡Ñ ó nil. àß½¿ Γá¬«Ñ ¡á⌐ñÑ¡«, OR »αѬαáΘáÑΓ ñá½∞¡Ñ⌐Φπε «µÑ¡¬π ¿
- ó«ºóαáΘáÑΓ T. àß½¿ óßÑ óδαáªÑ¡¿∩ nil, OR ó«ºóαáΘáÑΓ nil.
- Há»α¿¼Ñα:
-
- (or nil 45 '()) ó«ºóαáΘáÑΓ Æ.
- (or nil '()) ó«ºóαáΘáÑΓ nil.
-
- 4.85 (osnap <Γ«τ¬á> <ßΓ᫬á-αѪ¿¼>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Γ«τ¬π, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ αѺπ½∞ΓáΓ«¼
- »α¿¼Ñ¡Ñ¡¿∩ «í'Ñ¬Γ¡«⌐ »α¿ó∩º¬¿, ºáñáóáѼ«⌐ ó <ßΓ᫬Ñ-αѪ¿¼> ñ½∩ Γ«τ¬¿
- <Γ«τ¬á>. <ßΓ᫬á-αѪ¿¼> - ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá, ß«ßΓ«∩Θá∩ ¿º «ñ¡«ú« ¿½¿
- í«½ÑÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó «í'Ñ¬Γ¡«⌐ »α¿ó∩º¬¿, ¬á¬, ¡á»α¿¼Ñα, "midpoint",
- "center" ¿ Γ.ñ., αáºñѽѡ¡δσ ºá»∩Γ묨.
- Há»α¿¼Ñα:
-
- (setq pt2 (osnap pt1 "midp"))
- (setq pt2 (osnap pt1 "midp,endp,center"))
-
- àß½¿ áαúπ¼Ñ¡Γ <Γ«τ¬á> - 2-σ ¼Ñα¡á∩ Γ«τ¬á (ß»¿ß«¬ ¿º ñóπσ ñÑ⌐ßΓó¿Γѽ∞¡δσ
- τ¿ßѽ), Γ« íπñÑΓ ó«ºóαáΘÑ¡á 2-σ ¼Ñα¡á∩ Γ«τ¬á. àß½¿ áαúπ¼Ñ¡Γ <Γ«τ¬á>
- - 3-σ ¼Ñα¡á∩ Γ«τ¬á (ß»¿ß«¬ ¿º ΓαÑσ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ), Γ« íπñÑΓ
- ó«ºóαáΘÑ¡á 3-σ ¼Ñα¡á∩ Γ«τ¬á. àß½¿ ¡¿ «ñ¡«⌐ Γ«τ¬¿, ß««ΓóÑΓßΓóπεΘÑ⌐
- ºáñá¡¡«¼π <αѪ¿¼π> «í'Ñ¬Γ¡«⌐ »α¿ó∩º¬¿ ¡Ñ ¡á⌐ñÑ¡«, íπñÑΓ ó«ºóαáΘáΓ∞ß∩
- nil.
-
- 4.86 pi
-
- ¥Γ« ¡Ñ Σπ¡¬µ¿∩, φΓ« ¬«¡ßΓá¡Γá pi. àÑ º¡áτÑ¡¿Ñ »α¿¡∩Γ« 3.1415926.
-
- 4.87 (polar <Γ«τ¬á> <πú«½> <αáßßΓ«∩¡¿Ñ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ Γ«τ¬π, ¡áσ«ñ∩Θπεß∩ »«ñ πú½«¼ <πú«½> ¿ ¡á
- αáßßΓ«∩¡¿Ñ <αáßßΓ«∩¡¿Ñ> «Γ ºáñá¡¡«⌐ <Γ«τ¬¿>. Æ«τ¬¿ - ß»¿ß«¬ ñóπσ
- ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ ¿ <πú«½> óδαáªáÑΓß∩ ó αáñ¿á¡áσ.
- Há»α¿¼Ñα:
-
- (polar '(1.0 1.0) 0.785398 1.414214) ó«ºóαáΘáÑΓ (2.000000 2.000000)
-
- 4.88 (prin1 <óδαáªÑ¡¿Ñ> [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ óδó«ñ¿Γ óδαáªÑ¡¿Ñ <óδαáªÑ¡¿Ñ> ¡á φ¬αá¡ ¿ ó«ºóαáΘáÑΓ
- <óδαáªÑ¡¿Ñ>. <óδαáªÑ¡¿Ñ> ¼«ªÑΓ íδΓ∞ ½εíδ¼ óδαáªÑ¡¿Ñ¼; ¡Ñ ΓαÑíπÑΓß∩,
- τΓ«íδ «¡« í佫 ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐. àß½¿ »α¿ßπΓßΓóπÑΓ <«»¿ßáΓѽ∞ Σá⌐½á>
- (¿ ∩ó½∩ÑΓß∩ «»¿ßáΓѽѼ Σá⌐½á, «Γ¬αδΓ«ú« ñ½∩ ºá»¿ß¿), <óδαáªÑ¡¿Ñ>
- ºá»¿ßδóáÑΓß∩ ó Σá⌐½ ó Γ« óαѼ∩, ¬á¬ «¡« »«∩ó½∩ÑΓß∩ ¡á φ¬αá¡Ñ. ÅÑτáΓáÑΓß∩
- Γ«½∞¬« π¬áºá¡¡«Ñ <óδαáªÑ¡¿Ñ>; ¡Ñ ó¬½ετáÑΓß∩ ¡¿¬á¬¿σ »α«íѽ«ó ¿ »ÑαÑσ«ñ«ó
- ¡á ¡«óπε ßΓ᫬π. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 123)
- (setq b '(a))
-
-
-
-
-
- - 55 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Γ«úñá:
-
- (prin1 'a) »ÑτáΓáÑΓ Ç ¿ ó«ºóαáΘáÑΓ Ç
- (prin1 a) »ÑτáΓáÑΓ 123 ¿ ó«ºóαáΘáÑΓ 123
- (prin1 b) »ÑτáΓáÑΓ (Ç) ¿ ó«ºóαáΘáÑΓ (Ç)
- (prin1 "Hello") »ÑτáΓáÑΓ "hello" ¿ ó«ºóαáΘáÑΓ "Hello"
-
- Káªñδ⌐ ¿º óδΦÑ »α¿óÑñÑ¡¡δσ »α¿¼Ñα«ó »ÑτáΓáÑΓß∩ ¡á φ¬αá¡Ñ, Γ.¬. ¡Ñ
- íδ½ π¬áºá¡ <«»¿ßáΓѽ∞ Σá⌐½á>. ÅαÑñ»«½«ª¿¼, τΓ« F - ñ«»πßΓ¿¼δ⌐ «»¿ßáΓѽ∞
- Σá⌐½á ñ½∩ Σá⌐½á, «Γ¬αδΓ«ú« ñ½∩ ºá»¿ß¿:
-
- (prin1 "Hello" f)
-
- ºá»¿ΦÑΓ "Hello" ó π¬áºá¡¡δ⌐ Σá⌐½ ¿ ó«ºóαáΓ¿Γ "Hello".
-
- àß½¿ <óδαáªÑ¡¿Ñ> - φΓ« ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá, ó¬½ετáεΘá∩ π»αáó½∩εΘ¿Ñ
- ß¿¼ó«½δ, PRIN1 ¿¡ΓÑα»αÑΓ¿απÑΓ φΓ¿ ß¿¼ó«½δ, ¬á¬ ß½ÑñπεΘ¿Ñ, ñ«íáó½∩∩ »ÑαÑñ
- ¡¿¼¿ º¡á¬ "\":
-
-
- \Ñ ñ½∩ óδσ«ñá (escape)
- \n ñ½∩ »ÑαÑσ«ñá ¡á ¡«óπε ßΓ᫬π (newline)
- \r ñ½∩ óó«ñá (return)
- \t ñ½∩ Γáíπ½∩µ¿¿ (tab)
- \nnn ñ½∩ ß¿¼ó«½á, ó«ß∞¼Ñα¿τ¡δ⌐ ¬«ñ ¬«Γ«α«ú« nnn.
-
- ⠪:
-
- (prin1 (chr 2)) »ÑτáΓáÑΓ "\002" ¿ ó«ºóαáΘáÑΓ "\002"
- (prin1 (chr 10)) »ÑτáΓáÑΓ "\n" ¿ ó«ºóαáΘáÑΓ "\n"
-
- PRIN1 ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ¿ íѺ áαúπ¼Ñ¡Γ«ó, Γ«úñá «¡á ó«ºóαáΘáÑΓ
- (¿ »ÑτáΓáÑΓ) ß¿¼ó«½, ¡áºδóáѼδ⌐ »πßΓ«⌐ ßΓ᫬«⌐ ß¿¼ó«½«ó. àß½¿ éδ ¿ß»«½∞-
- ºπÑΓÑ PRIN1 (íѺ áαúπ¼Ñ¡Γ«ó) ó ¬áτÑßΓóÑ »«ß½Ññ¡Ñú« óδαáªÑ¡¿∩ «»αÑñѽѡ¡«⌐
- »«½∞º«óáΓѽѼ Σπ¡¬µ¿¿, Γ« ¬«úñá Σπ¡¬µ¿∩ ºáóÑαΦ¿Γ ßó«ε αáí«Γπ, óßÑ τΓ«
- íπñÑΓ óδóÑñÑ¡« ¡á φ¬αá¡ - φΓ« »πßΓá∩ ßΓ᫬á, ΓѼ ßá¼δ¼ «íÑß»Ñτ¿óá∩
- "Γ¿σ¿⌐" óδσ«ñ ¿º Σπ¡¬µ¿¿.
- Há»α¿¼Ñα, »πßΓ∞:
-
- (defun C:SETUP ()
- (setvar "LUNITS" 4)
- (setvar "BLIPMODE" 0)
- (prin1)
- )
-
- Γ«úñá:
-
- Command: SETUP
-
- ¿ß»«½¡¿Γ «»αÑñѽѡ¡πε »«½∞º«óáΓѽѼ ¬«¼á¡ñπ, «ΓóÑτá∩ ¡á ºá»α«ßδ Σπ¡¬µ¿¿
- SETVAR, ¿ óÑα¡ÑΓß∩ ¬ »«ñß¬áº¬Ñ AutoCADá "Command:", ¡Ñ óδó«ñ∩ ¡á φ¬αá¡
- ¡¿¬á¬¿σ ½¿Φ¡¿σ ß««íΘÑ¡¿⌐.
-
- 4.89 (princ <óδαáªÑ¡¿Ñ> [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ »«σ«ªá ¡á PRIN1 ¬α«¼Ñ Γ«ú«, τΓ« π»αáó½∩εΘ¿Ñ ß¿¼ó«½δ ó
- <óδαáªÑ¡¿¿> »ÑτáΓáεΓß∩ íѺ αáßΦ¿αÑ¡¿∩. é««íΘÑ PRIN1 ß«ºñá¡á ñ½∩ »ÑτáΓ¿
-
-
-
-
- - 56 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- óδαáªÑ¡¿⌐ »πΓѼ, ß«ó¼ÑßΓ¿¼δ¼ ß Σπ¡¬µ¿Ñ⌐ LOAD, ó Γ« óαѼ∩ ¬á¬ PRINC íπñÑΓ
- »ÑτáΓáΓ∞ ¿σ Γᬿ¼ »πΓѼ, τΓ«íδ «¡¿ ¼«ú½¿ ßτ¿ΓδóáΓ∞ß∩ Σπ¡¬µ¿∩¼¿ Γ¿»á
- READ-LINE.
-
-
- lsp-4-9
-
- 4.90 (print <óδαáªÑ¡¿Ñ> [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ »«σ«ªá ¡á PRIN1, ¬α«¼Ñ Γ«ú« τΓ« <óδαáªÑ¡¿Ñ> »ÑτáΓáÑΓß∩
- ß ¡«ó«⌐ ßΓ᫬¿, á »«ß½Ñ <óδαáªÑ¡¿∩> ßΓáó¿Γß∩ »α«íѽ.
-
- 4.91 (progn <óδαáªÑ¡¿Ñ>...)
-
- ¥Γá Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓ ¬áªñ«Ñ <óδαáªÑ¡¿Ñ> »«ß½Ññ«óáΓѽ∞¡« ¿
- ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »«ß½Ññ¡Ñú« óδαáªÑ¡¿∩. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ PROGN
- ñ½∩ óδ»«½¡Ñ¡¿∩ ¡Ñ߬«½∞¬¿σ óδαáªÑ¡¿⌐ Γá¼, úñÑ ñ«»π߬áÑΓß∩ óδ»«½¡Ñ¡¿Ñ
- Γ«½∞¬« «ñ¡«ú«. Há»α¿¼Ñα:
-
- (if (= a b) (progn
- (setq a (+ a 10))
- (setq b (- b 10))
- )
- )
-
- öπ¡¬µ¿∩ IF ¡«α¼á½∞¡« óδ»«½¡∩ÑΓ «ñ¡« óδαáªÑ¡¿Ñ "then" /Γ«úñá/, Ñß½¿
- πß½«ó¿Ñ óδ»«½¡∩ÑΓß∩ ¿ ¡Ñ αáó¡« nil. é φΓ«¼ »α¿¼ÑαÑ ¼δ ¿ß»«½∞º«ó὿
- PROGN, τΓ«íδ óδ»«½¡∩½«ß∞ ñóá óδαáªÑ¡¿∩ ó¼ÑßΓ« «ñ¡«ú«.
-
- 4.92 (prompt <ß««íΘÑ¡¿Ñ>)
-
- ¥Γá Σπ¡¬µ¿∩ óδßóÑτ¿óáÑΓ ß««íΘÑ¡¿Ñ ó »«½Ñ »«ñ߬ẫ¬ φ¬αá¡á ¿
- ó«ºóαáΘáÑΓ nil. <ß««íΘÑ¡¿Ñ> - ßΓ᫬á ß¿¼ó«½«ó. é ß¿ßΓÑ¼Ñ AutoCAD ß
- ñóπ¼∩ φ¬αá¡á¼¿ PROMT óδßóÑτ¿óáÑΓ <ß«íΘÑ¡¿Ñ> ¡á «í«¿σ φ¬αá¡áσ ¿ »«φΓ«¼π
- »αÑñ»«τΓ¿Γѽ∞¡« ¿ß»«½∞º«óáΓ∞ PRINC. Há»α¿¼Ñα:
-
- (prompt "H«ó«Ñ º¡áτÑ¡¿Ñ: ")
-
- óδßóÑτ¿óáÑΓ "H«ó«Ñ º¡áτÑ¡¿Ñ: " ¡á φ¬αá¡Ñ (φ¬αá¡áσ) ¿ ó«ºóαáΘáÑΓ nil.
-
- 4.93 (quote <óδαáªÑ¡¿Ñ>)
-
- 髺óαáΘáÑΓ óδαáªÑ¡¿Ñ ¡Ñ óδ»«½¡∩∩ Ñú«. ¥Γ« ¼«ªÑΓ íδΓ∞ ΓᬠªÑ ºá»¿ßá¡«:
-
- 'óδαáªÑ¡¿Ñ
-
- Há»α¿¼Ñα:
-
- (quote a) ó«ºóαáΘáÑΓ Ç
- (quote ßat) ó«ºóαáΘáÑΓ CÇT
- (quote (a b)) ó«ºóαáΘáÑΓ (Ç B)
- 'a ó«ºóαáΘáÑΓ Ç
- 'cat ó«ºóαáΘáÑΓ CÇT
- '(a b) ó«ºóαáΘáÑΓ Ç
-
- (ū߽Ññ¡¿Ñ Γα¿ »α¿¼Ñαá ¡Ñ íπñπΓ αáí«ΓáΓ∞, Ñß½¿ ¿σ ¡áíαáΓ∞
-
-
-
-
- - 57 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ß ¬½áó¿áΓπαδ ó «ΓóÑΓ ¡á ºá»α«ß AutoCAD. Å«¼¡¿ΓÑ, τΓ«
- Γᬫ⌐ óó«ñ ñ«½ªÑ¡ ¡áτ¿¡áΓ∞ß∩ ß "(" ¿½¿ "!" ß µÑ½∞ε ¿¡ΓÑα»α¿Γᵿ¿ ¿σ ¬á¬
- óδαáªÑ¡¿⌐ LISP.)
-
- 4.94 (read <ßΓ᫬á>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »Ñαóδ⌐ ß»¿ß«¬ ¿½¿ áΓ«¼ ¿º ñá¡¡«⌐ <ßΓ᫬¿>.
- <ßΓ᫬á> ¡Ñ ñ«½ª¡á ß«ñÑαªáΓ∞ »α«íѽδ. Há»α¿¼Ñα:
-
- (read "hello") ó«ºóαáΘáÑΓ HELLO
- (read "hi") ó«ºóαáΘáÑΓ HI
- (read "(a)") ó«ºóαáΘáÑΓ (A)
-
- 4.95 (read-char [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ ßτ¿ΓδóáÑΓ Ññ¿¡¿τ¡δ⌐ ß¿¼ó«½ ¿º íπΣÑαá óó«ñá ¬½áó¿áΓπαδ
- ¿½¿ ¿º «Γ¬αδΓ«ú« Σá⌐½á ºáñáóáѼ«ú« <«»¿ßáΓѽѼ Σá⌐½á>. Ä¡á ó«ºóαáΘáÑΓ
- (µÑ½«Ñ) ASCII ¬«ñ ßτ¿ΓδóáѼ«ú« ß¿¼ó«½á.
-
- àß½¿ ¡Ñ ºáñá¡« <«»¿ßáΓѽ∩ Σá⌐½á> ¿ ó íπΣÑαÑ óó«ñá ¬½áó¿áΓπαδ ¡ÑΓ
- ß¿¼ó«½«ó, READ-CHAR ªñÑΓ, τΓ«íδ óδ óóѽ¿ τΓ«-½¿í« ß ¬½áó¿áΓπαδ
- (ºá¬á¡τ¿óáεΘÑÑß∩ RETURN). Há»α¿¼Ñα, ñ«íπßΓ¿¼, τΓ« íπΣÑα ¬½áó¿áΓπαδ »πßΓ:
-
- (read-char)
-
- íπñÑΓ ªñáΓ∞ ¬á¬«ú«-½¿í« óó«ñá. àß½¿ óδ ¡áíα὿ "Çéæ", ºáóÑαΦ¿ó
- óó«ñ RETURN, READ-CHAR ó«ºóαáΓ¿Γ 65 (¬«ñ AS0CII íπ¬óδ "Ç" (½áΓ¿¡ß¬«⌐)).
- æ½ÑñπεΘ¿Ñ Γα¿ «íαáΘÑ¡¿∩ ¬ READ-CHAR ó«ºóαáΓ∩Γ 66,67 ¿ 10 (»ÑαÑσ«ñ ¡á
- ¡«óπε ßΓ᫬π) ß««ΓóÑΓßΓóÑ¡¡«. àß½¿ ºáΓѼ »«ß½ÑñπÑΓ ÑΘÑ «ñ¡« «íαáΘÑ¡¿Ñ
- ¬ READ-CHAR, «¡á íπñÑΓ ªñáΓ∞ óó«ñá.
-
- 4.96 (read-line [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ ßτ¿ΓδóáÑΓ ßΓ᫬π ß¿¼ó«½«ó ß ¬½áó¿áΓπαδ ¿½¿ ¿º
- «Γ¬αδΓ«ú« Σá⌐½á, ºáñá¡¡«ú« <«»¿ßáΓѽѼ Σá⌐½á>; READ-LINE ó«ºóαáΘáÑΓ nil,
- ¿¡áτÑ «¡á ó«ºóαáΘáÑΓ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ í佫 ßτ¿Γá¡«. Há»α¿¼Ñα,
- ñ«»πßΓ¿¼, τΓ« F - φΓ« αáºαÑΦÑ¡¡δ⌐ π¬áºáΓѽ∞ «Γ¬αδΓ«ú« Σá⌐½á:
-
- (read-line f)
-
- ó«ºóαáΓ¿Γ ß½ÑñπεΘπε óóÑñÑ¡¡πε ßΓα«¬π ¿º Σá⌐½á ¿½¿ (Ñß½¿ ñ«ßΓ¿ú¡πΓ ¬«¡Ñµ
- Σá⌐½á) nil.
-
- 4.97 (redraw [<¿¼∩ »α¿¼¿Γ¿óá> [<αѪ¿¼>]])
-
- äÑ⌐ßΓó¿Ñ Σπ¡¬µ¿¿ ºáó¿ß¿Γ «Γ τ¿ß½á óóÑñÑ¡¡δσ áαúπ¼Ñ¡Γ«ó. àß½¿ «¡á
- óδºδóáÑΓß∩ íѺ áαúπ¼Ñ¡Γ«ó:
-
- (redrow)
-
- íπñÑΓ ¡áα¿ß«óá¡ óÑß∞ τÑαΓѪ, Γ«τ¡« ΓᬠªÑ, ¬á¬ φΓ« ñѽáÑΓ ¬«¼á¡ñá
- AutoCAD REDRAW. àß½¿ óδºδóáÑΓß∩ ß áαúπ¼Ñ¡Γ«¼ <¿¼∩ »α¿¼¿Γ¿óá>:
-
- (redraw <¿¼∩ »α¿¼¿Γ¿óá>)
-
- óδíαá¡¡δ⌐ »α¿¼¿Γ¿ó íπñÑΓ »ÑαÑα¿ß«óá¡. ¥Γ« ¿ß»«½∞ºπÑΓß∩ ñ½∩
-
-
-
-
- - 58 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »α¿¼¿Γ¿óá ¡á φ¬αá¡Ñ »«ß½Ñ ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿¿ GRCLEAR
- ñ½∩ «τ¿ßΓ¬¿ φ¬αá¡á. ê¼Ñ¡á »α¿¼¿Γ¿ó«ó «»¿ßá¡δ ó ú½áóÑ 5 ¡áßΓ«∩ΘÑú«
- απ¬«ó«ñßΓóá.
- Å«½¡δ⌐ ¬«¡Γα«½∞ ºá »ÑαÑα¿ß«ó᡿Ѽ »α¿¼¿Γ¿óá «íÑß»Ñτ¿óáÑΓß∩ ó맮ó«¼
- REDRAW ß ñóπ¼∩ áαúπ¼Ñ¡ΓἿ:
-
- (redraw <¿¼∩ »α¿¼¿Γ¿óá> <αѪ¿¼>)
-
- úñÑ <¿¼∩ »α¿¼¿Γ¿óá> - φΓ« ¿¼∩ »ÑαÑα¿ß«óδóáѼ«ú« »α¿¼¿Γ¿óá, á <αѪ¿¼>-
- φΓ« µÑ½«Ñ τ¿ß½« ß «ñ¡¿¼ ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- !~~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- ! αѪ¿¼ REDRAW ! ñÑ⌐ßΓó¿Ñ !
- !-----------------!--------------------------------------------!
- ! 1 ! »ÑαÑτÑατ¿óá¡¿Ñ »α¿¼¿Γ¿óá ¡á φ¬αá¡Ñ !
- !-----------------!--------------------------------------------!
- ! 2 ! ¡Ñ α¿ßπÑΓ »α¿¼¿Γ¿ó (ßΓ¿αáÑΓ) !
- !-----------------!--------------------------------------------!
- ! 3 ! »«ñßóÑτ¿óáÑΓ »α¿¼¿Γ¿ó (Ñß½¿ ¼«ªÑΓ ñ¿ß»½Ñ⌐) !
- !-----------------!--------------------------------------------!
- ! 4 ! »ÑαÑßΓáÑΓ »«ñßóÑτ¿óáΓ∞ »α¿¼¿Γ¿ó (Ñß½¿ ¼«ªÑΓ!
- ! ! ñ¿ß»½Ñ⌐) !
- !-----------------!--------------------------------------------!
-
- àß½¿ <¿¼∩ »α¿¼¿Γ¿óá> - ºáú«½«ó«¬ ß½«ª¡«ú« »α¿¼¿Γ¿óá (Å«½¿½¿¡¿¿ ¿½¿
- ü½«¬á ß áΓα¿íπΓἿ), ó »α«µÑßßÑ »ÑαÑα¿ß«ó¬¿ íπñπΓ πτáßΓó«óáΓ∞ ¬á¬
- «ß¡«ó¡«⌐ »α¿¼¿Γ¿ó, Γᬠ¿ óßÑ »«ñ»α¿¼¿Γ¿óδ, Ñß½¿ áαúπ¼Ñ¡Γ <αѪ¿¼>
- »«½«ª¿Γѽѡ. àß½¿ ªÑ áαúπ¼Ñ¡Γ <αѪ¿¼> «Γ»α¿µáΓѽѡ, Γ« Γ«½∞¬« «ß¡«ó¡«⌐
- »α¿¼¿Γ¿ó íπñÑΓ πτáßΓó«óáΓ∞ ó »α«µÑßßÑ REDRAW.
-
- 4.98 (rem <τ¿ß½«1> <τ¿ß½«2>)
-
- ¥Γá Σπ¡¬µ¿∩ ñѽ¿Γ <τ¿ß½«1> ¡á <τ¿ß½«2> ¿ ó«ºóαáΘáÑΓ «ßΓáΓ«¬ «Γ
- ñѽѡ¿∩ (<τ¿ß½«1> mod <τ¿ß½«2>). REM ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß µÑ½δ¼¿ ¿
- ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ óѽ¿τ¿¡á¼¿ ß« ßΓá¡ñáαΓ¡δ¼¿ »αáó¿½á¼¿ »αÑ«íαẫóá¡¿∩.
- Há»α¿¼Ñα:
-
- (rem 42 12) ó«ºóαáΘáÑΓ 6
- (rem 12.0 16) ó«ºóαáΘáÑΓ 12.000000
- (rem 60 3) ó«ºóαáΘáÑΓ 0
-
- 4.99 (repeat <τ¿ß½«> <óδαáªÑ¡¿Ñ>...)
-
- é φΓ«⌐ Σπ¡¬µ¿¿ <τ¿ß½«> »αÑñßΓáó½∩ÑΓß∩ ½εí«⌐ »«½«ª¿Γѽ∞¡«⌐ µÑ½«⌐
- óѽ¿τ¿¡«⌐. öπ¡¬µ¿∩ óδ»«½¡∩ÑΓ ¬áªñ«Ñ <óδαáªÑ¡¿Ñ> ºáñá¡¡«Ñ <τ¿ß½«> αẠ¿
- ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »«ß½Ññ¡Ñú« óδαáªÑ¡¿∩. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 10)
- (setq b 100)
-
- Γ«úñá:
-
- (repeat 4
- (setq a (+ a 10)))
- (setq b (+ b 10)))
- ) ó«ºóαáΘáÑΓ 140.
-
-
-
-
- - 59 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- lsp-4-10
-
- 4.100 (reverse <ᯨ᮪>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ <ß»¿ß«¬> c Ñú« φ½Ñ¼Ñ¡ΓἿ, αáßßΓáó½Ñ¡¡δ¼¿ ó
- «íαáΓ¡«¼ »«α∩ñ¬Ñ. Há»α¿¼Ñα:
-
- (reverse '((a) b c)) ó«ºóαáΘáÑΓ (æ é (Ç))
-
- 4.101 (rtos <τ¿ß½«> [<αѪ¿¼> [<Γ«τ¡«ßΓ∞>]])
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ, ¬«Γ«αá∩ »αÑñßΓáó½∩ÑΓ
- <τ¿ß½«> (ñÑ⌐ßΓó¿Γѽ∞¡á∩ óѽ¿τ¿¡á) ó ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿∩¼¿ <αѪ¿¼á>,
- <Γ«τ¡«ßΓ¿> ¿ αẼÑα¡«⌐ »ÑαѼѡ¡«⌐ AutoCAD DIMZIN. <ÉѪ¿¼> ¿ <Γ«τ¡«ßΓ∞> -
- µÑ½δÑ óѽ¿τ¿¡δ, ¬«Γ«αδÑ ¡áº¡áτáεΓ αѪ¿¼ »αÑñßΓáó½Ñ¡¿∩ ¿ Ñú« Γ«τ¡«ßΓ∞.
- H¿ªÑ »αÑñßΓáó½Ñ¡δ º¡áτÑ¡¿∩ <αѪ¿¼á>:
-
- !~~~~~~~~~~~~~~~~~~~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
- ! ÉѪ¿¼δ RTOS ! ö«α¼áΓ »αÑñßΓáó½Ñ¡¿∩ !
- !-------------------!-------------------------------------------!
- ! 1 ! ¡áπτ¡δ⌐ !
- !-------------------!-------------------------------------------!
- ! 2 ! ñÑß∩Γ¿τ¡δ⌐ !
- !-------------------!-------------------------------------------!
- ! 3 ! ¿¡ªÑ¡Ñα¡δ⌐ (ΣπΓδ ¿ ñÑß∩Γ¿τ¡δÑ ñε⌐¼δ) !
- !-------------------!-------------------------------------------!
- ! 4 ! áασ¿ΓѬΓπα¡δ⌐ (ΣπΓδ ¿ ñα«í¡δÑ ñε⌐¼δ) !
- !-------------------!-------------------------------------------!
- ! 5 ! »α«¿ºó«½∞¡δÑ ñα«í¡δÑ τáßΓ¿ !
- !-------------------!-------------------------------------------!
-
- Çαúπ¼Ñ¡Γδ <αѪ¿¼> ¿ <Γ«τ¡«ßΓ∞> ß««ΓóÑΓßΓóπεΓ ß¿ßΓѼ¡δ¼ »ÑαѼѡ¡δ¼
- AutoCAD LUNITS ¿ LUPREC. àß½¿ «»πßΓ¿½¿ φΓ¿ áαúπ¼Ñ¡Γδ, Γ« íπñπΓ
- ¿ß»«½∞º«óá¡δ ΓѬπΘ¿Ñ º¡áτÑ¡¿∩ LUNITS ¿ LUPREC. Åα¿¼Ñαδ RTOS:
-
- (rtos 17.5 1 4) ó«ºóαáΘáÑΓ "1.7500E+01"
- (rtos 17.5 2 2) ó«ºóαáΘáÑΓ "17.50"
- (rtos 17.5 3 2) ó«ºóαáΘáÑΓ "1'-5.50""
- (rtos 17.5 4 2) ó«ºóαáΘáÑΓ "1'-5 1/2""
- (rtos 17.5 5 2) ó«ºóαáΘáÑΓ "17 1/2"
-
- 4.102 (set <ß¿¼ó«½> <óδαáªÑ¡¿Ñ>)
-
- Åα¿ßóá¿óáÑΓ <ß¿¼ó«½π> (úñÑ <ß¿¼ó«½> - ¿¼∩ ß¿¼ó«½á ß ¬áóδτ¬«⌐
- ß»ÑαÑñ¿) º¡áτÑ¡¿Ñ <óδαáªÑ¡¿∩> ¿ ó«ºóαáΘáÑΓ φΓ« º¡áτÑ¡¿Ñ. Há»α¿¼Ñα:
-
- (set 'a 5.0) ó«ºóαáΘáÑΓ 5.000000 ¿ πßΓá¡áó½¿óáÑΓ ó ß¿¼ó«½ Ç
- (set (quote b) 'a) ó«ºóαáΘáÑΓ Ç ¿ πßΓá¡áó½¿óáÑΓ ó ß¿¼ó«½ é.
-
- àß½¿ SET ¿ß»«½∞ºπÑΓß∩ ß ß¿¼ó«½∞¡δ¼ ¿¼Ñ¡Ñ¼ íѺ ¬áóδτ¬¿, «¡á ¼«ªÑΓ
- »α¿ßó«¿Γ∞ ¡«ó«Ñ º¡áτÑ¡¿Ñ ¬«ßóÑ¡¡« ñαπú«¼π ß¿¼ó«½π. Há»α¿¼Ñα, ó«º∞¼Ñ¼
- óδΦÑ»α¿óÑñÑ¡¡δÑ »α¿¼Ñαδ:
-
- (set b 640) óÑα¡ÑΓ 640
-
- ¿ »α¿ßó«¿Γ º¡áτÑ¡¿Ñ 640 ß¿¼ó«½π Ç (»«ß¬«½∞¬π φΓ« º¡áτÑ¡¿Ñ ß¿¼ó«½á é).
-
-
-
-
- - 60 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 漫Γα¿ΓÑ Γá¬ªÑ ¡¿ªÑ SETQ.
-
- 4.103 (setq <ß¿¼ó«½1> <óδαáªÑ¡¿Ñ1> [<ß¿¼ó«½2> <óδαáªÑ¡¿Ñ2>]...)
-
- ¥Γá Σπ¡¬µ¿∩ πßΓá¡áó½¿óáÑΓ ó <ß¿¼ó«½1> º¡áτÑ¡¿Ñ <óδαáªÑ¡¿∩1>, ó <ß¿¼ó«½2>
- º¡áτÑ¡¿Ñ <óδαáªÑ¡¿∩2> ¿ Γ.ñ. ¥Γ« «ß¡«ó¡á∩ Σπ¡¬µ¿∩ »α¿ßó«Ñ¡¿∩ ó AutoLISPÑ.
- Há»α¿¼Ñα:
-
- (setq a 5.0) ó«ºóαáΘáÑΓ 5.000000
-
- ¿ »α¿ßóá¿óáÑΓ º¡áτÑ¡¿Ñ 5.000000 ß¿¼ó«½π Ç. K«úñá íδ ¡¿ óδτ¿ß½∩½«ß∞ A,
- «¡« íπñÑΓ óδτ¿ß½∩Γ∞ß∩ αáó¡δ¼ ñÑ⌐ßΓó¿Γѽ∞¡«¼π τ¿ß½π 5.000000. äαπú¿Ñ
- »α¿¼Ñαδ:
-
- (setq b 123 c 4.7) ó«ºóαáΘáÑΓ 4.7
- (setq s "it") ó«ºóαáΘáÑΓ "it"
- (setq x '(a b)) ó«ºóαáΘáÑΓ (A B)
-
- öπ¡¬µ¿¿ SET ¿ SETQ ß«ºñáεΓ ¿½¿ ¼«ñ¿Σ¿µ¿απεΓ ú½«íá½∞¡δÑ ß¿¼ó«½δ ó ΓÑσ
- ß½πτá∩σ, ¬«úñá Σπ¡¬µ¿¿ ¡Ñ ¿ß»«½∞ºπεΓß∩ ó Σπ¡¬µ¿¿ DEFUN ñ½∩ »α¿ßóá¿óá¡¿∩
- º¡áτÑ¡¿⌐ áαúπ¼Ñ¡Γπ Σπ¡¬µ¿¿ ¿½¿ ß¿¼ó«½π, «í'∩ó½Ñ¡¡«¼π ¬á¬ ½«¬á½∞¡«¼π ñ½∩
- φΓ«⌐ DEFUN. Há»α¿¼Ñα:
-
- (setq glo1 123) ; ß«ºñá¡¿Ñ ú½«íá½∞¡«ú« ß¿¼ó«½á
- (defun demo (arg1 arg2 / loc1 loc2)
- (setq arg1 234) ; »α¿ßó«Ñ¡¿Ñ ¡«ó«ú« ½«¬á½∞¡«ú« º¡áτÑ¡¿∩
- (setq log1 345) ; »α¿ßó«Ñ¡¿Ñ ¡«ó«ú« ½«¬á½∞¡«ú« º¡áτÑ¡¿∩
- (setq glo1 456) ; »α¿ßó«Ñ¡¿Ñ ¡«ó«ú« ú½«íá½∞¡«ú« º¡áτÑ¡¿∩
- (setq glo2 567) ; ß«ºñá¡¿Ñ ¡«ó«ú« ú½«íá½∞¡«ú« ß¿¼ó«½á
- )
-
- ⽫íá½∞¡δÑ ß¿¼ó«½δ ñ«ßΓπ»¡δ ¿½¿ ¿º¼Ñ¡∩Ñ¼δ ½εí«⌐ Σπ¡¬µ¿Ñ⌐ ¿½¿
- ¿ß»«½∞ºπѼδ ó ½εí«¼ óδαáªÑ¡¿¿. 﫬á½∞¡δÑ ß¿¼ó«½δ ¿ áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿
- ß«σαá¡∩εΓ ßó«Ñ º¡áτÑ¡¿Ñ Γ«½∞¬« ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿, ñ½∩ ¬«Γ«α«⌐
- «¡¿ «»αÑñѽѡδ, ¿ ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿, óδºδóáѼδσ φΓ«⌐ Σπ¡¬µ¿Ñ⌐.
- çá¼ÑΓ¿¼, τΓ« áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ¬á¬ ½«¬á½∞¡δÑ ß¿¼ó«½δ,
- Σπ¡¬µ¿∩ ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ ¿σ º¡áτÑ¡¿∩, ¡« Γá¬¿Ñ ¿º¼Ñ¡Ñ¡¿∩ ßíαáßδóáεΓß∩ »«ß½Ñ
- óδσ«ñá ¿º Σπ¡¬µ¿¿.
-
- ========================================================================
-
- SET ¿ SETQ ñ«»π߬áεΓ »α¿ßó«Ñ¡¿Ñ ¡«óδσ º¡áτÑ¡¿⌐ óßΓα«Ñ¡¡δ¼ ß¿¼ó«½á¼ ¿
- ¿¼Ñ¡á¼ Σπ¡¬µ¿⌐ AutoLISP, ßíαáßδóá∩ »Ñαó«¡áτá½∞¡« »α¿ßó«Ñ¡¡δÑ º¡áτÑ¡¿∩ ¿½¿
- ñѽá∩ ¿σ ¡Ññ«ßΓπ»¡δ¼¿. HѬ«Γ«αδÑ »«½∞º«óáΓѽ¿ ΓΘÑΓ¡« »δΓáεΓß∩ ßñѽáΓ∞
- c½ÑñπεΘÑÑ:
- (setq anagle (...)) HÑóÑα¡«!
- (setq length (...)) HÑóÑα¡«!
- (setq max (...)) HÑóÑα¡«!
- (setq t (...)) HÑóÑα¡«!
- (setq pi 3.0)) HÑóÑα¡«!!!
-
- ùΓ«íδ ¿ºíѪáΓ∞ óßÑσ ó¿ñ«ó Γᬿσ ßΓαá¡¡δσ «Φ¿í«¬, íπñ∞ΓÑ ó¡¿¼áΓѽ∞¡δ,
- ¬«úñá »α¿ñπ¼δóáÑΓÑ ¿¼Ñ¡á ßó«¿¼ ß¿¼ó«½á¼. H¿¬«úñá ¡Ñ ¿ß»«½∞ºπ⌐ΓÑ óßΓα«Ñ¡-
- ¡δ⌐ ß¿¼ó«½ ¿½¿ ¿¼∩ Σπ¡¬µ¿¿ ñ½∩ ßó«Ñú« ß¿¼ó«½á! (ä½∩ π¡¿τΓ«ªÑ¡¿∩ ß»¿ß¬á
- ¿¼Ñ¡ ß¿¼ó«½«ó ¡áíÑα¿ΓÑ "!ÇÆÄîLIST" ¡á ºá»α«ß "Command:" AutoCAD »ÑαÑñ
- ºáúαπº¬«⌐ (LOAD) ¬á¬«⌐-½¿í« Σπ¡¬µ¿¿ AutoLISP.)
- ========================================================================
-
-
-
-
- - 61 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
-
- 4.104 (setvar <¿¼∩-»ÑαѼѡ¡«⌐> <º¡áτÑ¡¿Ñ>)
-
- ¥Γá Σπ¡¬µ¿∩ »α¿ßóá¿óáÑΓ ß¿ßΓѼ¡«⌐ »ÑαѼѡ¡«⌐ AutoCAD ºáñá¡¡«Ñ <º¡áτÑ¡¿Ñ>
- ¿ ó«ºóαáΘáÑΓ φΓ« º¡áτÑ¡¿Ñ. ê¼∩ »ÑαѼѡ¡«⌐ ñ«½ª¡« íδΓ∞ ºá¬½ετÑ¡« ó
- ñó«⌐¡δÑ ¬áóδτ¬¿.
- Há»α¿¼Ñα:
-
- (setvar "FILLETRAD" 0.50) ó«ºóαáΘáÑΓ 0.500000
-
- πßΓá¡áó½¿óáÑΓ αáñ¿πß ß«»α∩ªÑ¡¿∩ ó AutoCAD αáó¡δ¼ 0.5 Ññ¿¡¿µ.
-
- HѬ«Γ«αδÑ ¬«¼á¡ñδ AutoCADá óδí¿αáεΓ ß¿ßΓѼ¡δÑ »ÑαѼѡ¡δÑ íѺ óß∩¬¿σ
- »«ñ߬ẫ¬. àß½¿ éδ ¿ß»«½∞ºπÑΓÑ SETVAR ñ½∩ πßΓá¡«ó½Ñ¡¿∩ ¡«ó«ú« º¡áτÑ¡¿∩
- ß¿ßΓѼ¡«⌐ »ÑαѼѡ¡«⌐ ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ ¡Ñ¬«Γ«α«⌐ ¬«¼á¡ñδ, φΓá
- πßΓá¡«ó¬á íπñÑΓ ¿¼ÑΓ∞ ß¿½π Γ«½∞¬« ¬«úñá éδ ¡áτ¡ÑΓÑ óδ»«½¡∩Γ∞ ß½ÑñπεΘπε
- ¬«¼á¡ñπ AutoCADá.
- 滿߫¬ ΓѬπΘ¿σ ß¿ßΓѼ¡δσ »ÑαѼѡ¡δσ AutoCAD ¼«ª¡« ¡á⌐Γ¿ ó »α¿½«ªÑ¡¿¿ Ç
- απ¬«ó«ñßΓóá AutoCAD. 漫Γα¿ΓÑ Γá¬ªÑ Σπ¡¬µ¿ε GETVAR.
-
- 4.105 (sin <πú«½>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ß¿¡πß <πú½á> ¬á¬ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«, úñÑ <πú«½>
- óδαáªÑ¡ ó αáñ¿á¡áσ. Há»α¿¼Ñα:
-
- (sin 1.0) ó«ºóαáΘáÑΓ 0.841471
- (sin 0.0) ó«ºóαáΘáÑΓ 0.000000
-
- 4.106 (sqrt <τ¿ß½«>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ <τ¿ß½á> ¬á¬ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½«.
- Há»α¿¼Ñα:
-
- (sqrt 4) ó«ºóαáΘáÑΓ 2.000000
- (sqrt 2.0) ó«ºóαáΘáÑΓ 1.414214
-
- 4.107 (strcase <ßΓ᫬á> [<»α¿º¡á¬>])
-
- STRCASE íÑαÑΓ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ, π¬áºá¡¡πε áαúπ¼Ñ¡Γ«¼ <ßΓ᫬á> ¿
- ó«ºóαáΘáÑΓ ÑÑ ¬«»¿ε, »ÑαÑóÑñ∩ óßÑ ß¿¼ó«½δ á½Σáó¿Γá ó óÑασ¡¿⌐ ¿½¿ ¡¿ª¡¿⌐
- αÑú¿ßΓα ó ºáó¿ß¿¼«ßΓ¿ «Γáαúπ¼Ñ¡Γá <»α¿º¡á¬>. àß½¿ <»α¿º¡á¬> «»πΘÑ¡ ¿½¿
- αáóÑ¡ nil, Γ« óßÑ ß¿¼ó«½δ á½Σáó¿Γá ó <ßΓ᫬Ñ> íπñπΓ »ÑαÑóÑñÑ¡δ ó ¡¿ª¡¿⌐
- αÑú¿ßΓα. Há»α¿¼Ñα:
-
- (strcase "Sample") ó«ºóαáΘáÑΓ "SAMPLE"
- (strcase "Sample" Æ) ó«ºóαáΘáÑΓ "sample"
-
- 4.108 (strcat <ßΓ᫬á1> <ßΓ᫬á2>...)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßΓ᫬π, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ αѺπ½∞ΓáΓ«¼ ߵѻ½Ñ¡¿∩
- <ßΓ᫬¿1>, <ßΓ᫬¿2> ¿ Γ.ñ. Há»α¿¼Ñα:
-
- (strcat "a" "bout") ó«ºóαáΘáÑΓ "about"
- (strcat "a" "b" "c") ó«ºóαáΘáÑΓ "abc"
-
-
-
-
- - 62 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (strcat "a" "" "c") ó«ºóαáΘáÑΓ "ac"
-
- 4.109 (strlen <ßΓ᫬á>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ñ½¿¡π ó ß¿¼ó«½áσ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ
- <ßΓ᫬á> ¬á¬ µÑ½πε óѽ¿τ¿¡π. Há»α¿¼Ñα:
-
- (stalen "abcd") ó«ºóαáΘáÑΓ 4
- (stalen "ab") ó«ºóαáΘáÑΓ 2
- (stalen "") ó«ºóαáΘáÑΓ 0
-
-
- lsp-4-11
-
- 4.110 (subst <¡«óδ⌐ φ½Ñ¼Ñ¡Γ> <ßΓáαδ⌐ φ½Ñ¼Ñ¡Γ> <ß»¿ß«¬>)
-
- ¥Γá Σπ¡¬µ¿∩ »α«ß¼áΓα¿óáÑΓ <ß»¿ß«¬> ó »«¿ß¬Ñ <ßΓáαδσ φ½Ñ¼Ñ¡Γ«ó> ¿
- ó«ºóαáΘáÑΓ ¬«»¿ε <ß»¿ß¬á> ß ºá¼Ñ¡«⌐ ¬áªñ«ú« óßΓαÑτ¡«ú« <ßΓáα«ú« φ½Ñ¼Ñ¡Γá>
- ¡á <¡«óδ⌐ φ½Ñ¼Ñ¡Γ>. àß½¿ <ßΓáαδ⌐ φ½Ñ¼Ñ¡Γ> ¡Ñ ¡á⌐ñÑ¡ ó <ß»¿ß¬Ñ>, SUBST
- ó«ºóαáΘáÑΓ <ß»¿ß«¬> ¡Ñ¿º¼Ñ¡¡δ¼. Há»α¿¼Ñα, ñá¡«:
-
- (setq sample '(a b (c d) b))
-
- Γ«úñá:
-
- (subst 'qq 'b sample) ó«ºóαáΘáÑΓ (A QQ (C D) QQ)
- (subst 'qq 'z sample) ó«ºóαáΘáÑΓ (A B (C D) B)
- (subst 'qq '(c d) sample) ó«ºóαáΘáÑΓ (A B QQ B)
- (subst '(qq 'rr) '(c d) sample) ó«ºóαáΘáÑΓ (A B (QQ RR) B)
- (subst '(qq 'rr) 'z sample) ó«ºóαáΘáÑΓ (A B (C D) B)
-
- é ß«τÑΓá¡¿¿ ß Σπ¡¬µ¿Ñ⌐ ASSOC, SUBST «íÑß»Ñτ¿óáÑΓ πñ«í¡δ⌐ ß»«ß«í ºá¼Ñ¡δ
- óѽ¿τ¿¡δ, ¡á⌐ñÑ¡¡«⌐ »« ¬½ετπ ó ßΓαπ¬Γπα¿α«óá¡¡«¼ ß»¿ß¬Ñ. Há»α¿¼Ñα, ñá¡«:
-
- (stq who '((ferst john) (mid q) (last public)))
-
- Γ«úñá:
-
- (setq old
- (assoc 'first who)
- ) ó«ºóαáΘáÑΓ (FIRST JOHN)
- (setq new '(first j)) ó«ºóαáΘáÑΓ (FIRST J)
- (setq new old who) ó«ºóαáΘáÑΓ ((FIRST J) (MID Q) (LAST PUBLIC))
-
- 4.111 (substr <ßΓ᫬á> <¡áτὫ> [<ñ½¿¡á>])
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ »«ñßΓ᫬π <ßΓ᫬á>, ¡áτ¿¡áεΘπεß∩ ß <¡áτá½>∞¡«ú«
- ß¿¼ó«½á ¿ ß«ñÑαªáΘπε τ¿ß½« ß¿¼ó«½«ó, ºáñá¡¡«Ñ ó áαúπ¼Ñ¡ΓÑ <ñ½¿¡á>. àß½¿
- <ñ½¿¡á> ¡Ñ π¬áºá¡á, Γ« »«ñßΓα«¬á »α«ñ«½ªáÑΓß∩ ñ« ¬«¡µá <ßΓ᫬¿>. <HáτὫ>
- (¿ ñ½¿¡á, Ñß½¿ »α¿ßπΓßΓóπÑΓ) ñ«½ª¡δ íδΓ∞ »«½«ª¿Γѽ∞¡δ¼¿ µÑ½δ¼¿ óѽ¿τ¿¡á¼¿.
- ÅÑαóδ⌐ ß¿¼ó«½ <ßΓ᫬¿> - ß¿¼ó«½ ß ¡«¼Ñα«¼ 1. Há»α¿¼Ñα:
-
- (substr "abcde" 2) ó«ºóαáΘáÑΓ "bcde"
- (substr "abcde" 2 1) ó«ºóαáΘáÑΓ "b"
- (substr "abcde" 3 2) ó«ºóαáΘáÑΓ "cd"
-
-
-
-
-
- - 63 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- 4.112 (terpri)
-
- ¥Γá Σπ¡¬µ¿∩ »ÑτáΓáÑΓ ¡«óπε ßΓ᫬π ¡á φ¬αá¡Ñ. Ä¡á Γá¬ªÑ ó«ºóαáΘáÑΓ ¡«óπε
- ßΓ᫬π. TERPRI ¡Ñ ¿ß»«½∞ºπÑΓß∩ ñ½∩ óó«ñá/óδó«ñá Σá⌐½«ó.
- ä½∩ ºá»¿ß¿ ¡«ó«⌐ ßΓ᫬¿ ó Σá⌐½ ¿ß»«½∞ºπ⌐ΓÑ PRINT ¿½¿ PRINC.
-
- 4.113 (textscr)
-
- öπ¡¬µ¿∩ TEXTSCR »ÑαѬ½ετáÑΓ φ¬αá¡ ß úαáΣ¿τÑ߬«ú« ó ΓѬßΓ«ó«⌐ αѪ¿¼ ó
- «ñ¡«φ¬αá¡¡δσ ß¿ßΓѼáσ (¬á¬ Σπ¡¬µ¿«¡á½∞¡á∩ ¬½áó¿Φá "FLIP SCREEN" ó
- AutoCAD). TEXTSCR óßÑúñá ó«ºóαáΘáÑΓ nil. 漫Γα¿ΓÑ Γá¬ªÑ Σπ¡¬µ¿ε
- GRAPHSCR.
-
- 4.114 (trace <Σπ¡¬µ¿∩>...)
-
- ¥Γá Σπ¡¬µ¿∩ - ßαÑñßΓó« «Γ½áñ¬¿. Ä¡á πßΓá¡áó½¿óáÑΓ º¡á¬ Γαáßß¿α«ó¬¿
- ñ½∩ ºáñá¡¡δσ <Σπ¡¬µ¿⌐> ¿ ó«ºóαáΘáÑΓ ¿¼∩ »«ß½Ññ¡Ñ⌐ Σπ¡¬µ¿¿. é Γ« óαѼ∩
- ¬á¬ Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓß∩, ¡á φ¬αá¡Ñ »«∩ó½∩ÑΓß∩ Γ«τ¬á óσ«ñá ó Σπ¡¬µ¿ε (ß
- «ΓßΓπ»½Ñ¡¿Ñ¼ ¡á ú½πí¿¡π 󽫪ѡ¡«ßΓ¿ Σπ¡¬µ¿¿) ¿ »ÑτáΓáÑΓß∩ αѺπ½∞ΓáΓ
- Σπ¡¬µ¿¿. Há»α¿¼Ñα:
-
- (trase my-func) ó«ºóαáΘáÑΓ MY-FUNC
-
- ¿ πßΓá¡áó½¿óáÑΓ ß¿¼ó«½ Γαáßß¿α«ó¬¿ ñ½∩ Σπ¡¬µ¿¿ MY-FUNC. C¼«Γα¿ΓÑ ΓᬪÑ
- Σπ¡¬µ¿ε UNTRACE.
-
- 4.115 (type <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ TYPE (Γ¿») <φ½Ñ¼Ñ¡Γá>, úñÑ TYPE - «ñ¡« ¿º
- ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐ (¬á¬ áΓ«¼):
-
- REAL τ¿ß½á ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐
- FILE «»¿ßáΓѽ∞ Σá⌐½«ó
- STR ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ
- INT µÑ½δÑ óѽ¿τ¿¡δ
- SYM ß¿¼ó«½δ
- LIST ß»¿ß¬¿ (¿ Σπ¡¬µ¿¿ »«½∞º«óáΓѽ∩)
- SUBR ó¡πΓαÑ¡¡¿Ñ Σπ¡¬µ¿¿ AutoLISP
- PITCKSET ¡áí«αδ AutoCAD
- ENAME ¿¼Ñ¡á »α¿¼¿Γ¿ó«ó AutoCAD
- PAGETB Γáí½¿µá ñ¿ß»ÑΓτÑαá ßΓαá¡¿µ
-
- Há»α¿¼Ñα, ñá¡«:
-
- (setq a 123 r 3.45 s "Hello!" x '(a b c))
- (setq f (open "name" "r"))
-
- Γ«úñá:
-
- (type 'a) ó«ºóαáΘáÑΓ SYM
- (type a) ó«ºóαáΘáÑΓ INT
- (type f) ó«ºóαáΘáÑΓ FILE
- (type r) ó«ºóαáΘáÑΓ REAL
- (type s) ó«ºóαáΘáÑΓ STR
- (type x) ó«ºóαáΘáÑΓ LIST
- (type +) ó«ºóαáΘáÑΓ SUBR
-
-
-
-
- - 64 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- æ½ÑñπεΘ¿⌐ »α¿¼Ñα ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿ TYPE.
-
- (defun isint (a)
- (if (= (type a) 'INT) ; ∩ó½∩ÑΓß∩ ½¿ Γ¿» µÑ½δ¼?
- Æ ; Ñß½¿ ñá - óÑα¡¿ Æ
- nil ; Ñß½¿ ¡ÑΓ - óÑα¡¿ nil
- )
- )
-
- 4.116 (untrace <Σπ¡¬µ¿∩>...)
-
- ¥Γá Σπ¡¬µ¿∩ πí¿αáÑΓ ß¿¼ó«½ Γαáßß¿α«óá¡¿∩ ñ½∩ π¬áºá¡¡δσ Σπ¡¬µ¿⌐ ¿
- ó«ºáαáΘáÑΓ ¿¼∩ »«ß½Ññ¡Ñ⌐ Σπ¡¬µ¿¿. Ä¡á óδí«α«τ¡« ¿ß¬½ετáÑΓ »«Φáú«ó«Ñ
- Γαáßß¿α«óá¡¿Ñ. Há¼»α¿¼Ñα:
-
- (untrace my-func) ó«ºóαáΘáÑΓ MY-FUNC
-
- ¿ πí¿αáÑΓ ß¿¼ó«½ Γαáßß¿α«ó¬¿ ñ½∩ Σπ¡¬µ¿¿ MY-FUNC. 漫Γα¿ΓÑ Γá¬ªÑ TRACE.
-
- 4.117 (ver)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ ¡«¼Ñα«¼
- ΓѬπΘÑ⌐ óÑαß¿¿ AutoLISP. Ä¡á ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á (ß«ó¼ÑßΓ¡« ß
- Σπ¡¬µ¿Ñ⌐ EQUAL ñ½∩ ¬«¡Γα«½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ »α«úαá¼¼). ö«α¼á ßΓ᫬¿:
-
- "AutoLISP Release X.X"
-
- úñÑ ò.ò - ¡«¼Ñα ΓѬπΘÑ⌐ óÑαß¿¿. Há»α¿¼Ñα:
-
- (ver) 󫺼«ª¡δ⌐ ó«ºóαáΓ "AutoLISP Release 9.0"
-
- 4.118 (while <ΓÑßΓ-óδαáªÑ¡¿Ñ> <óδαáªÑ¡¿Ñ>...)
-
- ¥Γá Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓ <ΓÑßΓ-óδαáªÑ¡¿Ñ> ¿, Ñß½¿ «¡« ¡Ñ ∩ó½∩ÑΓß∩ nil,
- óδτ¿ß½∩ÑΓ ñαπú¿Ñ óδαáªÑ¡¿∩, ºáΓѼ ß¡«óá »α«óÑα∩ÑΓ <ΓÑßΓ-óδαáªÑ¡¿Ñ>. ¥Γ«
- »α«ñ«½ªáÑΓß∩ ñ« ΓÑσ »«α, »«¬á <ΓÑßΓ-óδαáªÑ¡¿Ñ> ¡Ñ nil. çáΓѼ WHILE
- ó«ºóαáΘáÑΓ ßá¼«Ñ »«ºñ¡ÑÑ º¡áτÑ¡¿Ñ »«ß½Ññ¡Ñú« <óδαáªÑ¡¿∩>. Há»α¿¼Ñα, ñá¡«:
-
- (setq a 1)
-
- Γ«úñá:
-
- (while (<= a 10)
- (some-func a)
- (setq a (1+ a))
- )
-
- íπñÑΓ óδºóá¡á Σπ¡¬µ¿∩ »«½∞º«óáΓѽ∩ SOME-FUNC ñÑß∩Γ∞ αáº, ß Ç αáó¡δ¼ «Γ
- 1 ñ« 10. üπñÑΓ ºáΓѼ ó«ºóαáΘÑ¡« 11, τΓ« ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ¼ »«ß½Ññ¡Ñú«
- óδαáªÑ¡¿∩.
-
- 4.119 (write-char <τ¿ß½«> [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ ºá»¿ßδóáÑΓ «ñ¿¡ ß¿¼ó«½ ¡á φ¬αá¡ ¿½¿ ó «Γ¬αδΓδ⌐ Σá⌐½,
- ºáñá¡¡δ⌐ <«»¿ßáΓѽѼ Σá⌐½á>. <τ¿ß½«>) - φΓ« ¬«ñ ASII ß¿¼ó«½á, ¿ ∩ó½∩ÑΓß∩
-
-
-
-
- - 65 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- º¡áτÑ¡¿Ñ¼ ó«ºóαáΘáÑ¼δ¼ Σπ¡¬µ¿Ñ⌐. Há»α¿¼Ñα:
-
- (write-char 67) ó«ºóαáΘáÑΓ 67
-
- ¿ ºá»¿ßδóáÑΓ ½áΓ¿¡ß¬πε íπ¬óπ æ ¡á φ¬αá¡Ñ. ÅαÑñ»«½«ª¿¼, τΓ« F - «»¿ßáΓѽ∞
- «Γ¬αδΓ«ú« Σá⌐½á:
-
- (write-char 67 f) ó«ºóαáΘáÑΓ 67
-
- ¿ ºá»¿ßδóáÑΓ ½áΓ¿¡ß¬πε íπ¬óπ æ ó φëà Σá⌐½.
-
-
- lsp-4-12
-
- 4.120 ((write-line <ßΓ᫬á> [<«»¿ßáΓѽ∞ Σá⌐½á>])
-
- ¥Γá Σπ¡¬µ¿∩ ºá»¿ßδóáÑ¬Γ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ <ßΓ᫬á> ¡á φ¬αá¡Ñ ¿½¿ ó
- «Γ¬αδΓδ⌐ Σá⌐½, ºáñá¡¡δ⌐ <«»¿ßáΓѽѼ Σá⌐½á>. Ä¡á ó«ºóαáΘáÑΓ <ßΓ᫬π>,
- óº∩Γπε ó ¬áóδτ¬¿, ¿ «»π߬áÑΓ ¬áóδτ¬¿ ¬«úñá ºá»¿ßδóáÑΓß∩ ó Σá⌐½. Há»α¿¼Ñα,
- »αÑñ»«½«ª¿¼, τΓ« F φΓ« ñ«»πßΓ¿¼δ⌐ «»¿ßáΓѽ∞ «Γ¬αδΓ«ú« Σá⌐½á:
-
- (write-line "Test" f) ºá»¿ßδóáÑΓ Test ¿ ó«ºóαáΘáÑΓ "Test".
-
- 4.121 (zerop <φ½Ñ¼Ñ¡Γ>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ T, Ñß½¿ <φ½Ñ¼Ñ¡Γ> ñÑ⌐ßΓó¿Γѽ∞¡«Ñ ¿½¿ µÑ½«Ñ
- τ¿ß½«, αáó¡«Ñ ¡π½ε, ¿¡áτÑ ó«ºóαáΘáÑΓ nil. Ä¡á ¡Ñ «»αÑñѽѡáñ½∩ ñαπú¿σ
- Γ¿»«ó <φ½Ñ¼Ñ¡Γ«ó>. Há»α¿¼Ñα:
-
- (zerop 0) ó«ºóαáΘáÑΓ Æ
- (zerop 0.0) ó«ºóαáΘáÑΓ Æ
- (zerop 0.0001) ó«ºóαáΘáÑΓ nil
-
- 4.122 (*error* <ßΓ᫬á>)
-
- ¥Γ«, «»αÑñѽ∩Ѽá∩ »«½∞º«óáΓѽѼ Σπ¡¬µ¿∩, Γαá¬ΓπεΘá∩ «Φ¿í¬¿. àß½¿ «¡á
- ¡Ñ nil, «¡á óδ»«½¡∩ÑΓß∩ ¬á¬ Σπ¡¬µ¿∩ óß∩¬¿⌐ αáº, ¬«úñá »α¿ßπΓßΓóπÑΓ
- »α«óÑα¬á «Φ¿í«¬ AutoLISP. Ä¡á óδñáÑΓ «ñ¿¡ áαúπ¼Ñ¡Γ - ßΓ᫬π, ß«ßΓ«∩Θπε
- ¿º «»¿ßá¡¿∩ «Φ¿í¬¿.
- Há»α¿¼Ñα:
-
- (defun *error* (msg)
- (princ "error:")
- (princ msg)
- (terpri)
- )
-
- ¥Γá Σπ¡¬µ¿∩ íπñÑΓ ñѽáΓ∞ Γ«ªÑ ßἫÑ, τΓ« ¿ ßΓá¡ñáαΓ¡á∩ Σπ¡¬µ¿∩
- Γαá¬Γ«ó¬¿ «Φ¿í«¬ AutoLISP - »ÑτáΓ∞ "error:" ¿ «»¿ßá¡¿Ñ.
-
-
-
-
- - 66 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- â½áóá 5
-
- ÅÉêîêÆêé¢ ê îàòÇìêçî äÄæÆôÅÇ
-
-
- éßÑ«íΩѼ½εΘ¿Ñ Σπ¡¬µ¿¿ AutoLISPá "set" «íÑß»Ñτ¿óáεΓ ñ«ßΓπ» ¬
- »α¿¼¿Γ¿óá¼ AutoCADá, ¬ úαáΣ¿τÑ߬«¼π φ¬αá¡π ¿ ¬ ¼Ñσá¡¿º¼á¼ óó«ñá. éδ ¼«ªÑ-
- ΓÑ óδí¿αáΓ∞ »α¿¼¿Γ¿óδ , ó«ßßΓá¡áó½¿óáΓ∞ ¿σ óѽ¿τ¿¡δ ¿ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¿σ.
- ìáí«αδ óδí«αá (selection - sets ) ¼«ª¡« »«¼ÑßΓ¿Γ∞ ó »ÑαѼѡ¡δÑ LISPá, φΓ«
- »«ºó«½∩ÑΓ αáí«ΓáΓ∞ ¬«½½Ñ¬µ¿¿ »α¿¼¿Γ¿ó«ó. ä½∩ »α∩¼«ú« ß«ºñá¡¿∩ »α¿¼¿Γ¿ó«ó
- ¡ÑΓ Σπ¡¬µ¿⌐ ,«ñ¡á¬« ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε COMMAND , τΓ«íδ »«ñτ¿¡¿-
- Γ∞ß∩ «íδτ¡δ¼ ¬«¼á¡ñá¼ AutoCAD ñ½∩ óδ»«½¡Ñ¡¿∩ φΓ«ú«.
-
-
- 5.1. æ»Ñµ¿á½∞¡δÑ Γ¿»δ ñá¡¡δσ
-
- äóá ߻ѵ¿á½∞¡δσ Γ¿»á ñá¡¡δσ AutoLISPá ∩ó½∩εΓß∩ ¿¡ßΓαπ¼Ñ¡Γ«¼ ,
- «íÑß»Ñτ¿óáεΘ¿¼ ñ«ßΓπ» ¬ »α¿¼¿Γ¿óá¼ AutoCAD: ¿¼∩ »α¿¼¿Γ¿óá ( entity name )
- ¿ ¡áí«α óδí«αa ( selection - set ). ¥Γ¿¼¿ Γ¿»á¼¿ ñá¡¡δσ ¼á¡¿»π½¿απεΓ
- Γ«½∞¬« Σπ¡¬µ¿¿ , ¬«Γ«αδÑ ñÑ⌐ßΓóπεΓ ¡á «ß¡«óá¡¿¿ ¿σ , ¿ ¿σ ó¡πΓαÑ¡¡∩∩
- ßΓαπ¬Γπαá ¡Ñ ¬áßáÑΓß∩ »α«úαá¼¼¿ßΓá LISP. ê¼∩ »α¿¼¿Γ¿óá ¿¼ÑÑΓ º¡áτÑ¡¿Ñ
- ó π¬áºáΓÑ½Ñ Σá⌐½á , «íß½πª¿óáεΘѼ αÑñá¬Γ«α τÑαΓѪÑ⌐ AutoCAD, ó ¬«Γ«α«¼
- AutoLISP ¼«ªÑΓ ¡á⌐Γ¿ íáºπ ñá¡¡δσ »α¿¼¿Γ¿ó«ó ¿½¿ ¿σ óÑ¬Γ«αδ (Ñß½¿ ÑßΓ∞
- óδó«ñ ¡á φ¬αá¡). ìáí«αδ óδí«αá φΓ« »α«ßΓ« ¬«½½Ñ¬µ¿∩ ¿¼Ñ¡ »α¿¼¿Γ¿ó«ó.
-
-
- ê¼Ñ¡á »α¿¼¿Γ¿ó«ó ¿ ¡áí«αδ óδí«αá ñÑ⌐ßΓó¿Γѽ∞¡δ Γ«½∞¬« ó ΓÑτÑ¡¿Ñ
- ßÑá¡ßá αÑñá¬Γ¿α«óá¡¿∩ , ó ¬«Γ«α«¼ «¡¿ »α¿¼Ñ¡∩εΓß∩ AutoCAD«¼.
-
-
- 5.2. îá¡¿»π½∩µ¿∩ Σπ¡¬µ¿Ñ⌐ selection - set
-
- æ½ÑñπεΘ¿Ñ Σπ¡¬µ¿¿ óδ»«½¡∩εΓ αẽ¿τ¡δÑ ñÑ⌐ßΓó¿∩ ¡á «ß¡«óá¡¿¿
- Σπ¡¬µ¿¿ selection - sets (¡áí«αδ óδí«αá ).
-
-
- 5. 2. 1. ( ssget [< αѪ¿¼ >] [<Γ«τ1> [<Γ«τ2>]])
-
- éδ ¼«ªÑΓÑ »α¿¼Ñ¡∩Γ∞ Σπ¡¬µ¿ε selection - set c Σπ¡¬µ¿Ñ⌐ SSGET.
- Çαúπ¼Ñ¡Γ«¼ < αѪ¿¼ > ∩ó½∩ÑΓß∩ ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá , ¬«Γ«αá∩ «º¡áτáÑΓ
- Γ¿» óδ»«½¡∩Ѽ«ú« óδí«αá »α¿¼¿Γ¿óá . ¥Γ« ¼«úπΓ íδΓ∞ íπ¬óδ " W " , " C " ,
- " L" , ¿½¿ " P " , ¡áºóá¡¿∩ αѪ¿¼«ó ó AutoCADÑ " Window" («¬¡«) ,
- Crossing "(»ÑαÑßÑτÑ¡¿Ñ) , " Last " (»«ß½Ññ¡¿⌐), " Previous" (»αÑñδñπΘ¿⌐).
- < Γ«τ1 > ¿ < Γ«τ2 > φΓ« áαúπ¼Ñ¡Γδ Γ«τ¬¿ ó ß»¿ß¬áσ , ¬«Γ«αδÑ «»αÑñѽ∩εΓ
- Γ«τ¬¿ , π¼ÑßΓ¡δÑ ñ½∩ óδí«αá. Äí«º¡áτÑ¡¿Ñ Γ«τ¬¿ íѺ áαúπ¼Ñ¡Γá < αѪ¿¼ >
- φ¬ó¿óá½Ñ¡Γ¡« óδí«απ »α¿¼¿Γ¿óá π¬áºá¡¿Ñ¼ Ññ¿¡ßΓóÑ¡¡«⌐ Γ«τ¬¿. àß½¿ óßÑ
- áαúπ¼Ñ¡Γδ «»πΘÑ¡δ , SSGET »«ñ߬áªÑΓ »«½∞º«óáΓѽε τÑαѺ ¼Ñσá¡¿º¼ AutoCADá
- " Select objects: "(óδíÑα¿ΓÑ «íΩѬΓδ) , »«ºó«½∩∩ ¿¡ΓÑαá¬Γ¿ó¡δ⌐ óδí«α
- ¡áí«αá.
-
- Åα¿¼Ñαδ
-
- (ssget) C»αáΦ¿óáÑΓ »«½∞º«óáΓѽ∩ «íΘ¿⌐ óδí«α »α¿¼¿Γ¿óá
- (ssget "P") éδí¿αáÑΓ ßá¼δ⌐ ¡«óδ⌐ óδíαá¡¡δ⌐ ¡áí«α.
- (ssget "L") éδí¿αáÑΓ »«ß½Ññ¡¿⌐ »α¿¼¿Γ¿ó,»α¿íáó½Ñ¡¡δ⌐ ¬ íáºÑ
- ñá¡¡δσ.
- (ssget '(2 2)) éδí¿αáÑΓ »α¿¼¿Γ¿ó,»α«σ«ñ∩Θ¿⌐ τÑαѺ Γ«τ¬π 2 , 2 .
- (ssget "W" '(0 0) '(5 5)) éδí¿αáÑΓ »α¿¼¿Γ¿óδ ó¡πΓα¿ «¬¡á ß ¬««αñ¿¡áΓἿ
- Γ«τѬ 0, 0 5 ,5 .
- (ssget "C" '(0 0) '(1 1)) éδí¿αáÑΓ »α¿¼¿Γ¿óδ »ÑαÑßѬáεΘ¿Ñ í«¬ß ß ¬««αñ¿¡áΓἿ
-
-
-
-
- - 67 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Γ«τѬ 0 , 0 1 , 1 .
-
- éδíαá¡¡δÑ «íΩѬΓδ óδßóÑτ¿óáεΓß∩ , ¬«úñá SSGET ¿ß»«½∞ºπÑΓß∩
- íѺ áαúπ¼Ñ¡Γ«ó. ìÑΓ ¿¡Σ«α¼áµ¿¿ « Γ«¼ , ߬«½∞¬« óδíαá¡¡δσ »α¿¼¿Γ¿ó«ó ß«-
- σαá¡∩ÑΓß∩ ( ¬á¬ á½∞ΓÑα¡áΓ¿óπ ß¼«Γα¿ Σπ¡¬µ¿ε ENTSEL , «»¿ßá¡¡πε ¡¿ªÑ).
- Selection -sets óαѼѡ¡« »«ú½«ΘáεΓ Θѽ¿ Σá⌐½á AutoCAD , »«φΓ«¼π LISPπ
- ¡Ñ αáºαÑΦáÑΓß∩ ¿¼ÑΓ∞ í«½ÑÑ 6-¿ «ñ¡«óαѼѡ¡« «Γ¬αδΓδσ Σá⌐½«ó. àß½¿ φΓ«Γ
- »αÑñѽ ñ«ßΓ¿ú¡πΓ , AutoCAD «Γ¬áªÑΓß∩ ß«ºñáóáΓ∞ ½εíδÑ ñαπú¿Ñ ¡áí«αδ óδí«-
- αá (selection -sets) ¿ ó«ºóαáΓ¿Γ " nil " ¡á óßÑ ó맮óδ AutoCADá.
- ÅÑαѼѡ¡á∩ ¡áí«αá óδí«αá ¼«ªÑΓ íδΓ∞ »ÑαÑñá¡á AutoCADπ ó «ΓóÑΓ ¡á
- ½εíπε »«ñ߬Ậπ "Select objects:" ó óδí«αÑ "Last". Ä¡á óδíÑαÑΓ óßÑ
- «íΩѬΓδ ó ¡áí«αÑ LISPá , ¬á¬ íδ »α«ß¼áΓα¿óá∩ ¿σ ó «¬«Φ¬« («íαáΓ¿ΓÑ
- ó¡¿¼á¡¿Ñ , »α¿¼¿Γ¿óδ, óδíαá¡¡δÑ φΓ¿¼ ß»«ß«í«¼ ¡Ñ ¡πªñáεΓß∩ ó óδó«ñÑ ¡á
- φ¬αá¡).
-
-
- 5. 2. 2. ( sslength <ss>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ µÑ½«Ñ τ¿ß½« , ß«ñÑαªáΘÑÑ ¬«½¿τÑßΓó« »α¿¼¿-
- Γ¿ó«ó ó ¡áí«αÑ óδí«αá <ss>. ìáí«αδ ¡¿¬«úñá ¡Ñ ß«ñÑαªáΓ ñπí½¿¬áΓ«ó
- »α¿¼¿Γ¿ó«ó.
-
-
- 5. 2. 3. (ssname <ss> <index>)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¿¼∩ »α¿¼¿Γ¿óá <index>-ú« φ½Ñ¼Ñ¡Γá ¡áí«αá
- <ss>. àß½¿ <index> «Γα¿µáΓѽ∞¡«Ñ ¿½¿ í«½∞ΦÑ ßἫú« í«½∞ΦÑú« óδτ¿ß½∩Ѽ«ú«
- »α¿¼¿Γ¿óá ó ¡áí«αÑ óδí«αá , ó«ºóαáΘáÑΓß∩ "nil". ÅÑαóδ⌐ φ½Ñ¼Ñ¡Γ ¡áí«αá
- ¿¼ÑÑΓ ¿¡ñÑ¬ß "0". ê¼Ñ¡á »α¿¼¿Γ¿ó«ó ó ¡áí«αÑ , »α¿¼Ñ¡∩Ѽδσ ß Σπ¡¬µ¿-
- Ñ⌐ SSGET , óßÑúñá íπñπΓ ¿¼Ñ¡á¼¿ ú½áó¡δσ »α¿¼¿Γ¿ó«ó . Å«ñ»α¿¼¿Γ¿óδ (Block
- attributes ¿ Polyline vertices) ¡Ñ íπñπΓ ó«ºóαáΘáΓ∞ß∩ ( ¡«, ß¼«Γα¿ «»¿-
- ßá¡¡πε ¡¿ªÑ Σπ¡¬µ¿ε ENTNEXT, ¬«Γ«αá∩ ñѽáÑΓ ñ«ßΓπ»¡δ¼¿ ¿σ).
-
-
- 5. 2. 4. (ssadd [<ename> [<ss>]])
-
- àß½¿ óδºδóáÑΓß∩ íѺ áαúπ¼Ñ¡Γ«ó , Σπ¡¬µ¿∩ SSADD ß«ºñáÑΓ ¡«óδ⌐
- ¡áí«α óδí«αá íѺ τ½Ñ¡«ó. àß½¿ óδºδóáÑΓß∩ ß Ññ¿¡ßΓóÑ¡¡δ¼ áαúπ¼Ñ¡Γ«¼ ¿¼Ñ-
- ¡¿ »α¿¼¿Γ¿óá , Σπ¡¬µ¿∩ SSADD ß«ºñáÑΓ ¡«óδ⌐ ¡áí«α óδí«αá , ß«ñÑαªáΘ¿⌐ φΓ«
- Ññ¿¡ßΓóÑ¡¡«Ñ ¿¼∩ »α¿¼¿Γ¿óá. àß½¿ óδºδóáÑΓß∩ - ß ¿¼Ñ¡Ñ¼ »α¿¼¿Γ¿óá ¿ ß ¡á-
- í«α«¼ óδí«αá , «¡á ñ«íáó½∩ÑΓ ¿¼∩ »α¿¼¿Γ¿óá ¬ ¡áí«απ. öπ¡¬µ¿∩
- SSADD óßÑúñá ó«ºóαáΘáÑΓ ¡«óδ⌐ ¿½¿ ¼«ñ¿Σ¿µ¿α«óá¡¡δ⌐ ¡áí«α. çừ¼¡¿ΓÑ,
- τΓ« »α¿ ñ«íáó½Ñ¡¿¿ »α¿¼¿Γ¿óá ¬ ¡áí«απ , ¡«óδ⌐ »α¿¼¿Γ¿ó Σ¿º¿τÑ߬¿ »α¿ß«Ñ-
- ñ¿¡∩ÑΓß∩ ¬ ßπΘÑßΓóπεΘѼπ ¡áí«απ, ¿ ¡áí«α, »α«σ«ñ∩Φ¿⌐ ¬á¬ <ss>, ó«ºóαáΘá-
- ÑΓß∩ , ¬á¬ αѺπ½∞ΓáΓ. Æá¬¿¼ «íαẫ¼, Ñß½¿ ñαπú¿¼ »ÑαѼѡ¡δ¼ »α¿ßóá¿óáÑΓß∩
- ¬áΓÑú«α¿∩ -¡áí«α , «¡¿ íπñπΓ «ΓαáªáΓ∞ Γá¬ªÑ ß½«ªÑ¡¿Ñ. àß½¿ ó ¡áí«αÑ πªÑ
- ÑßΓ∞ »α¿¼¿Γ¿ó ß Γᬿ¼ ªÑ ¡áºó᡿Ѽ , ñÑ⌐ßΓó¿Ñ Σπ¡¬µ¿¿ SSADD íπñÑΓ »α«-
- ¿ú¡«α¿α«óá¡«;ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ ¡Ñ íπñÑΓ.
-
-
- 5. 2. 5. (ssdel <ename> <ss>)
-
- öπ¡¬µ¿∩ SSDEL πñá½∩ÑΓ ¿¼∩ »α¿¼¿Γ¿óá <ename> ¿º ¡áí«αá <ss>
- ¿ ó«ºóαáΘáÑΓ ¿¼∩ ¡áí«αá <ss>. çừ¼¡¿ΓÑ , τΓ« »α¿¼¿Γ¿óδ Σ¿º¿τÑ߬¿
- πñá½∩εΓß∩ ¿º ¡áí«αá , ¬á¬ «»»«º¿µ¿∩ ¡«ó«¼π ¡áí«απ, ó«ºóαáΘáεΘѼπß∩
- ß πñá½Ñ¡¡δ¼ φ½Ñ¼Ñ¡Γ«¼. àß½¿ ó ¡áí«αÑ ¡ÑΓ »α¿¼¿Γ¿óá, ó«ºóαáΘáÑΓß∩ "nil".
-
-
-
-
- - 68 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
-
- 5. 2. 6. (ssmemb <ename> <ss>)
-
- ¥Γá Σπ¡¬µ¿∩ »α«óÑα∩ÑΓ , ∩ó½∩ÑΓß∩ ½¿ ¿¼∩ »α¿¼¿Γ¿óá <ename> τ½Ñ¡«¼
- ¡áí«αá óδí«αá <ss>. àß½¿ φΓ« Γᬠ, Σπ¡¬µ¿∩ SSMEMB ó«ºóαáΘáÑΓ ¿¼∩ »α¿¼¿-
- Γ¿óá <ename>. àß½¿ ¡ÑΓ, ó«ºóαáΘáÑΓ "nil".
-
-
- 5. 3. öπ¡¬µ¿¿ ¿¼Ñ¡¿ »α¿¼¿Γ¿óá (entity name)
-
- æ½ÑñπεΘ¿Ñ Σπ¡¬µ¿¿ óδ»«½¡∩εΓ αẽ¿τ¡δÑ ñÑ⌐ßΓó¿∩ ß ¿¼Ñ¡Ñ¼ »α¿¼¿Γ¿-
- óá, ó¬½ετá∩ óó«ñ. ê¼Ñ¡á »α¿¼¿Γ¿ó«ó ¼«úπΓ »α«σ«ñ¿Γ∞ ó AutoCADÑ ó «ΓóÑΓ
- ¡á ½εíπε »«ñ߬Ậπ " Select objects: " , ñ½∩ ¬«Γ«α«⌐ «ΓóÑΓ "Last" ñÑ⌐ßΓ-
- ó¿Γѽѡ. é αѺπ½∞ΓáΓÑ íπñÑΓ óδíαá¡« ¡áºóá¡¿Ñ »α¿¼¿Γ¿óá , ¬á¬ Ñß½¿ íδ «¡
- »α«ß¼áΓα¿óá½ß∩ ó «¬«Φ¬«.
-
-
- 5. 3. 1. (entnext [<ename>])
-
- àß½¿ óδºδóáÑΓß∩ íѺ áαúπ¼Ñ¡Γ«ó, φΓá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¿¼∩
- »α¿¼¿Γ¿óá »Ñαó«ú« ¡Ñπñá½Ñ¡¡«ú« »α¿¼¿Γ¿óá ó íáºÑ ñá¡¡δσ. àß½¿ Σπ¡¬µ¿∩
- ENTNEXT óδºδóáÑΓß∩ ß áαúπ¼Ñ¡Γ«¼ »α¿¼¿Γ¿óá <ename>, «¡á ó«ºóαáΘáÑΓ ¿¼∩
- »Ñαó«ú« ¡Ñπñá½Ñ¡¡«ú« »α¿¼¿Γ¿óá , ß½ÑñπεΘÑú« ºá <ename> ó íáºÑ ñá¡¡δσ.
- àß½¿ ¡ÑΓ ß½ÑñπεΘÑú« »α¿¼¿Γ¿óá ó íáºÑ ñá¡¡δσ, ó«ºóαáΘáÑΓß∩ "nil". öπ¡¬-
- µ¿∩ ENTNEXT ó«ºóαáΘáÑΓ ¿ ú½áó¡δÑ »α¿¼¿Γ¿óδ ¿ »«ñ»α¿¼¿Γ¿óδ.
- Åα¿¼¿Γ¿óδ , óδíαá¡¡δÑ Σπ¡¬µ¿Ñ⌐ SSGET - ú½áó¡δÑ »α¿¼¿Γ¿óδ, ¡ÑΓ
- áΓα¿íπΓ«ó í½«¬«ó ¿½¿ óÑαΦ¿¡ »«½¿½¿¡¿⌐. éδ ¼«ªÑΓÑ ñ«íαáΓ∞ß∩ ñ« ó¡πΓαÑ¡-
- ¡Ñ⌐ ßΓαπ¬Γπαδ φΓ¿σ ß½«ª¡δσ »α¿¼¿Γ¿ó«ó »«ßαÑñßΓó«¼ »α«ßΓ«ú« »α¿Ñ¼á ,
- τÑαѺ »«ñ»α¿¼¿Γ¿óδ, Σπ¡¬µ¿Ñ⌐ ENTNEXT. àß½¿ óδ «ñ¡áªñδ »α¿¼Ñ¡¿ΓÑ ¿¼∩ »«ñ-
- »α¿¼¿Γ¿óá , óδ ¼«ªÑΓÑ ñÑ⌐ßΓó«óáΓ∞ »«ñ«í¡δ¼ «íαẫ¼ ó ½εí«¼ ñαπú«¼ ß½π-
- τáÑ. àß½¿ óδ »α¿«íαѽ¿ ¿¼∩ »«ñ»α¿¼¿Γ¿óá τÑαѺ Σπ¡¬µ¿ε ENTNEXT, óδ ¼«ªÑ-
- ΓÑ ¡á⌐Γ¿ α«ñ¿Γѽ∞߬¿⌐ »α¿¼¿Γ¿ó , ñó¿úá∩ß∞ ó»ÑαÑñ «Γ Σπ¡¬µ¿¿ ENTNEXT ñ«
- Σπ¡¬µ¿¿ SEQEND, τΓ«íδ «í¡áαπª¿Γ∞ »α¿¼¿Γ¿ó, ºáΓѼ ¿ºó½Ñ¬á∩ -2 úαπ»»π ¿º
- Γᬫú« »α¿¼¿Γ¿óá, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ ú½áó¡δ¼ ¿¼Ñ¡Ñ¼ »α¿¼¿Γ¿óá.
-
-
- 5. 3. 2. (entlast)
-
- ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¿¼∩ »«ß½Ññ¡Ñú« ¡Ñπñá½Ñ¡¡«ú« ú½áó¡«ú« »α¿-
- ¼¿Γ¿óá ó íáºÑ ñá¡¡δσ. ¥Γá Σπ¡¬µ¿∩ τáßΓ« »α¿¼Ñ¡∩ÑΓß∩ , τΓ«íδ ñáΓ∞
- ¿¼∩ ¡«ó«¼π »α¿¼¿Γ¿óπ , ¬«Γ«αδ⌐ Γ«½∞¬« τΓ« íδ½ »α¿íáó½Ñ¡ τÑαѺ Σπ¡¬µ¿ε
- COMMAND. Åα¿¼¿Γ¿ó ¡Ñ ¡πª¡« óδó«ñ¿Γ∞ ¡á φ¬αá¡, ¿ Γá¬ªÑ ¡Ñ ¡πª¡« óδí¿αáΓ∞
- πα«óÑ¡∞.
-
-
- 5. 3. 3. (entsel [<prompt>])
-
- Ä¡á ¿¡«úñá ªÑ½áΓѽ∞¡á , ¬á¬ ñÑ⌐ßΓó¿Ñ ¡á »α¿¼¿Γ¿óδ , τΓ«íδ «ñ¡«óαÑ-
- ¼Ñ¡¡« óδíαáΓ∞ »α¿¼¿Γ¿ó ¿ «í«º¡áτ¿Γ∞ Γ«τ¬π, ß »«¼«Θ∞ε ¬«Γ«α«⌐ »α¿¼¿Γ¿ó
- íδ½ óδíαá¡. Åα¿¼Ñαδ φΓ«ú« ó AutoCADÑ ¼«ª¡« ¡á⌐Γ¿ ó Σπ¡¬µ¿¿ Object Snap
- ¿ ó ¬«¼á¡ñáσ BREAK , TRIM , EXTEND . öπ¡¬µ¿∩ ENTSEL »«ºó«½∩ÑΓ »α«úαá¼¼á¼
- AutoLISPá óδ»«½¡¿Γ∞ φΓ« ñÑ⌐ßΓó¿Ñ. öπ¡¬µ¿∩ ENTSEL óδí¿αáÑΓ «Γñѽ∞¡δ⌐
- »α¿¼¿Γ¿ó, ΓαÑíπ∩, τΓ«íδ óδí«α íδ½ ßñÑ½á¡ Γ«τ¬«⌐. Ä¡á ó«ºóαáΘáÑΓ ß»¿ß«¬, ó
- ¬«Γ«α«¼ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ - ¿¼∩ óδíαá¡¡«ú« »α¿¼¿Γ¿óá , óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ - ¬««αñ¿¡áΓδ Γ«τ¬¿ , ¿ß»«½∞ºπѼ«⌐ ñ½∩ óδí«αá »α¿¼¿Γ¿óá. àß½¿
-
-
-
-
- - 69 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ßΓ᫬á ß«ñÑαª¿Γ <»«ñ߬Ậπ>, φΓá ßΓα«¬á ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á , τΓ«-
- íδ ß»α«ß¿Γ∞ »«½∞º«óáΓѽ∩ « »α¿¼¿Γ¿óÑ. ê¡áτÑ , »« π¼«½τá¡¿ε »«∩ó¿Γß∩
- »«ñ߬Ậá "Select object:" . æ½ÑñπεΘ¿⌐ ñ¿á½«ú ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ
- Σπ¡¬µ¿¿ ENTSEL ¿ ó«ºóαáΘáѼδ⌐ ß»¿ß«¬.
-
- Command: Line
- ----
- From point: 1 , 1
- ------
- To point: 6 , 6
- ------
- To point: RETURN
- ------
- Command: (setq e (entsel "Please choose an entity:"))
- ----------------------------------------------
- Please choose an entity: 3 , 3
- -----
- (< Entity name: 60000014> (3.000000 3.000000))
-
- 髺óαáΘáѼá∩ Σπ¡¬µ¿Ñ⌐ ENTSEL Σ«α¼á ó ó¿ñÑ ß»¿ß¬á , πñ«ó½ÑΓó«α∩ÑΓ
- AutoCAD ó «ΓóÑΓ ¡á ½εíπε Ñú« »«ñ߬Ậπ óδíαáΓ∞ «íΩѬΓ. ¥Γ« íπñÑΓ Γαá¬-
- Γ«óáΓ∞ß∩ AutoCAD«¼ , ¬á¬ óδí«α «»αÑñѽѡ¡«ú« »α¿¼¿Γ¿óá , π¬áºá¡¡«ú«
- Γ«τ¬«⌐.
-
-
-
- 5. 4. öπ¡¬µ¿¿ ñá¡¡δσ »α¿¼¿Γ¿óá (entity data)
-
- æ½ÑñπεΘ¿Ñ Σπ¡¬µ¿¿ »«ºó«½∩εΓ óá¼ ó«ßßΓá¡«ó¿Γ∞ ¿ ¼«ñ¿Σ¿µ¿α«óáΓ∞
- ñá¡¡δÑ «»αÑñѽѡ¡δσ »α¿¼¿Γ¿ó«ó. ê¼Ñ¡á »α¿¼¿Γ¿ó«ó »α¿¼Ñ¡∩εΓß∩ ñ½∩ Γ«ú«,
- τΓ«íδ «»αÑñѽ¿Γ∞ »α¿¼¿Γ¿óδ, ß ¬«Γ«α묨 ¡áñ« αáí«ΓáΓ∞.
-
-
- 5. 4. 1. (entdel <ename>)
-
- ôñá½∩ÑΓ »α¿¼¿Γ¿ó , «í«º¡áτÑ¡¡δ⌐ <ename>, ó ΓѬπΘѼ τÑαΓѪÑ,
- ¿½¿ ó«ßßΓá¡áó½¿óáÑΓ »α¿¼¿Γ¿ó,Ñß½¿ «¡ íδ½ »αÑñóáα¿Γѽ∞¡« πñá½Ñ¡ ó φΓ«¼
- ßÑá¡ßÑ αÑñá¬Γ¿α«óá¡¿∩. ôñá½∩ѼδÑ »α¿¼¿Γ¿óδ óδτ¿ΘáεΓß∩ ¿º τÑαΓѪá, »«¬¿ñá∩
- αÑñá¬Γ«α τÑαΓѪÑ⌐ , ¿Γá¬, Σπ¡¬µ¿∩ ENTDEL ¼«ªÑΓ ó«ßßΓá¡áó½¿óáΓ∞ ¿σ Γ«½∞¬«
- ó ΓÑτÑ¡¿Ñ ßÑá¡ßá αÑñá¬Γ¿α«óá¡¿∩ , ¬«úñá «¡¿ í뫨 πñá½Ñ¡δ. öπ¡¬µ¿∩ ENTDEL
- αáí«ΓáÑΓ Γ«½∞¬« ó ú½áó¡δσ »α¿¼¿Γ¿óáσ,áΓΓα¿íπΓδ ¿ óÑαΦ¿¡δ »«½¿½¿¡¿⌐ ¡Ñ
- ¼«úπΓ íδΓ∞ πñá½Ñ¡δ , ¡Ñºáó¿ß¿¼« «Γ ¿σ α«ñ¿Γѽ∞߬¿σ »α¿¼¿Γ¿ó«ó (óδ ¼«ªÑΓÑ
- ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε COMMAND , τΓ«íδ αáí«ΓáΓ∞ Σπ¡¬µ¿Ñ⌐ ATTEDIT, ¿½¿ ¬«-
- ¼á¡ñπ PEDIT, τΓ«íδ óδ»«½¡¿Γ∞ φΓ«).
-
-
- 5. 4. 2. (entget <ename>)
-
- Åα¿¼¿Γ¿ó , ¬«Γ«αδ⌐ ¡áºδóáÑΓß∩ <ename> ó«ßßΓá¡áó½¿óáÑΓß∩ ¿º íáºδ
- ñá¡¡δσ ¿ ó«ºóαáΘáÑΓß∩ ¬á¬ ß»¿ß«¬, ß«ñÑαªáΘ¿⌐ φΓ¿ «»αÑñѽ∩ѼδÑ ñá¡¡δÑ. ÉÑ-
- ºπ½∞Γ¿απεΘ¿⌐ ß»¿ß«¬ ¬«ñ¿απÑΓß∩ , ¬á¬ ßΓαπ¬Γπα¿α«óá¡¡δ⌐ ß»¿ß«¬ LISP,
- φ½Ñ¼Ñ¡Γδ ¬«Γ«α«ú« ¼«úπΓ íδΓ∞ ½Ñú¬« ó«ßßΓá¡«ó½Ñ¡δ Σπ¡¬µ¿Ñ⌐ ASSOC. ÄíΩѬΓδ
- ó αѺπ½∞Γ¿απεΘѼ ß»¿ß¬Ñ ¬«ñ¿απεΓß∩ ó ¬«ñáσ DXF ß¿ßΓѼδ AutoCAD ñ½∩ ¬áª-
- ñ«⌐ τáßΓ¿ óσ«ñ¡δσ ñá¡¡δσ. ä½∩ »α¿¼Ñαá αáßß¼«Γα¿¼ óδτÑατ¿óá¡¿Ñ ¿ ºáΓѼ
- ó«ßßΓá¡«ó½Ñ¡¿Ñ LINE ß½ÑñπεΘÑ⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε ¬«¼á¡ñ:
-
-
-
-
-
- - 70 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Command: LINE
- -----
- From point: 1 , 2
- ------
- To point: 6 , 6
- ------
- To point: RETURN
- --------
- Command: (setq a (entget (entlast)))
- ---------------------------
- πßΓá¡«ó¿Γ Ç, αáó¡«Ñ ß»¿ß¬π ( ñѽáÑΓ «ßΓá¡«ó ñ½∩ »α«τΓÑ¡¿∩ ):
- ( ( -1 . <Entity name: 60000014>)
- (0 . "LINE")
- (8 . "0")
- (10 1.000000 2.000000)
- (11 6.000000 6.000000)
- )
-
-
- Åπ¡¬Γ -1 ó ¡áτá½Ñ ß»¿ß¬á ß«ñÑαª¿Γ ¿¼∩ »α¿¼¿Γ¿óá , ¬«Γ«αδ¼ φΓ«Γ
- ß»¿ß«¬ »αÑñßΓáó½Ñ¡. öπ¡¬µ¿∩ ENTMOD, «»¿ßá¡¡á∩ ¡¿ªÑ , ¿ß»«½∞ºπÑΓ φΓ« ,
- τΓ«íδ ¿ñÑ¡Γ¿Σ¿µ¿α«óáΓ∞ »α¿¼¿Γ¿ó , ¬«Γ«αδ⌐ ¼«ñ¿Σ¿µ¿α«óá¡.
- ÄΓñѽ∞¡δÑ Γ«τÑτ¡δÑ »áαδ , »αÑñßΓáó½∩εΓ »ÑαѼѡ¡δÑ , ¬«Γ«αδÑ ¼«úπΓ
- íδΓ∞ ½Ñú¬« ó«ßßΓá¡«ó½Ñ¡δ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ ASSOC, Σπ¡¬µ¿∩ CDR «íδτ¡« óδ-
- ó«ñ¿Γ ¿σ º¡áτÑ¡¿∩. è«ñδ ñ½∩ ¬«¼»«¡Ñ¡Γ«ó »α¿¼¿Γ¿óá ΓÑ ªÑ ßá¼δÑ, τΓ« ¿ß»«-
- ½∞ºπÑΓ DXF , ¿ »α¿ó«ñ∩Γß∩ ó »α¿½«ªÑ¡¿¿ æ Éπ¬«ó«ñßΓóá AutoCAD. Æá¬ ªÑ ,
- ¬á¬ ó DXF , ºáú«½«ó«¬ φ½Ñ¼Ñ¡Γá »α¿¼¿Γ¿óá ( µóÑΓ ¿ Γ¿» ½¿¡¿¿, ß½«ª¡δ⌐
- »α¿¼¿Γ¿ó Σ½áúá (Σπ¡¬µ¿∩ ATFLAG), φ¬ßΓαπº¿∩ Γ«½Θ¿¡δ ¿ ó䬽ετÑ¡¿Ñ ¡á-
- í«αá Z) óδó«ñ¿Γß∩ , Ñß½¿ »ÑαѼѡ¡á∩ ¡Ñ »« π¼«½τá¡¿ε. é Σπ¡¬µ¿∩σ, ¡Ñ
- Γᬿσ ¬á¬ DXF, ¡Ñ «í∩ºáΓѽ∞¡« óδó«ñ¿Γ∞ Γ«τ¡«ßΓ∞ »«½∩ »α¿¼¿Γ¿óá, αáó¡πε
- ½¿ ¿σ º¡áτÑ¡¿∩¼ »« π¼«½τá¡¿ε ¿½¿ ¡ÑΓ. ìá¼ÑαÑ¡¿Ñ ßñѽáΓ∞ φΓ« ∩ó½∩ÑΓß∩
- π»α«ΘÑ¡¡δ¼ óáα¿á¡Γ«¼ »α«úαá¼¼, ¬«Γ«αδÑ óßÑúñá ¼«úπΓ »α¿¡¿¼áΓ∞ φΓ¿ »«½∩
- »α¿ßπΓßΓóπεΘ¿¼¿ ñ½∩ «ß¡«ó¡δσ á½ú«α¿Γ¼«ó , »« ¬«Γ«α«¼ «¡¿ αáí«ΓáεΓ.
- çừ¼¡¿ΓÑ, τΓ« »«ñß»¿ß¬¿ ñ½∩ Γ«τѬ- φΓ« ¡Ñ Γ«τÑτ¡δÑ »áαδ, »«ñ«í¡δÑ
- «ßΓá½∞¡δ¼. æ«ú½áΦÑ¡¿Ñ¼ ∩ó½∩ÑΓß∩ Γ«, τΓ« Σπ¡¬µ¿∩ CDR »«ñß»¿ß¬á -φΓ«
- úαπ»»«óá∩ »ÑαѼѡ¡á∩. Æá¬ ¬á¬ Γ«τ¬á- φΓ« ß»¿ß«¬ ñóπσ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ,
- φΓ« ß«ßΓáó½∩ÑΓ óßε ß«ó«¬π»¡«ßΓ∞ ΓαÑσ φ½Ñ¼Ñ¡Γ«ó ß»¿ß¬á. öπ¡¬µ¿∩ CDR úαπ»»δ
- ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ , ¿º«íαáªáεΘ¿¼ Γ«τ¬π, ß«ú½áΦÑ¡¿Ñ¼ ∩ó½∩ÑΓß∩ ΓᬪÑ,Γ«
- τΓ« Σπ¡¬µ¿∩ CDR óßÑúñá ó«ºóαáΘáÑΓ »ÑαѼѡ¡πε ß«σαá¡Ñ¡¡«⌐.
- è«úñá «»¿ßδóáѼδÑ Σπ¡¬µ¿¿ «íαáíáΓδóáεΓ φΓ¿ ß»¿ß¬¿, «í∩ºáΓѽ∞¡«
- ßñѽá⌐ΓÑ ¿¼ ᬬπαáΓ¡δÑ »«ñß»¿ß¬¿. Å«½∞ºá ñ½∩ Σπ¡¬µ¿¿ ASSOC «Γ φΓ«ú« úá-
- αá¡Γ¿α«óá¡á. âαπ»»á -1 ,ß«ñÑαªáΘá∩ ¿¼∩ »α¿¼¿Γ¿ó«ó, »«ºó«½∩ÑΓ »α«¿ºóÑßΓ¿
- ¡Ñ¬«Γ«αδÑ ñÑ⌐ßΓó¿∩, τΓ«íδ »α«ßΓ« »α¿¡∩Γ∞ ß»¿ß«¬ »α¿¼¿Γ¿óá , ¿ ¿ºíѪáΓ∞
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ ß«σαá¡∩Γ∞ ¿¼∩ »α¿¼¿Γ¿óá ó »áαώѽ∞¡«⌐ ßΓαπ¬ΓπαÑ. Åα¿¼¿Γ¿ó
- SEQEND ó ¬«¡µÑ Poliline ¿½¿ ¡áí«α áΓΓα¿íπΓ«ó ß«ñÑαª¿Γ -2úαπ»»π , τ∞¿ CDR
- ∩ó½∩εΓß∩ ºáú«½«ó¬«¼ ó φΓ«¼ »α¿¼¿Γ¿óÑ. ¥Γ« »«ºó«½¿Γ ¡á⌐Γ¿ ºáú«½«ó«¬
- ó »«ñ»α¿¼¿Γ¿óáσ,ñó¿úá∩ß∞ ó»ÑαÑñ ¬ SEQEND , ºáΓѼ ¿ß»«½∞ºπ∩ Σπ¡¬µ¿ε CDR
- -2 úαπ»»δ , ¬á¬ ¿¼∩ »α¿¼¿Γ¿óá, ó«ßßΓá¡«ó¿Γ∞ ßΓαπ¬Γπα¿α«óá¡¡δ⌐ ú½áó¡δ⌐
- »α¿¼¿Γ¿ó. æ½ÑñπεΘ¿⌐ »α¿¼Ñα σ«α«Φ« ¿½½εßΓα¿απÑΓ ¬«¼»½Ñ¬ß¡δÑ »α¿¼¿Γ¿óδ,
- »αÑñßΓáó½Ñ¡¡δÑ ¬á¬ ß»¿ß«¬.
-
- Command: ELEV
- -----
- New current elevation <0.0000>: 3.5
- ----
- New current thickness <0.0000>: 0
-
-
-
-
- - 71 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ---
- Command: LINETYPE
- ----------
- ?/Create /Load/Set: SET
- ----
- New entity linetype <BYLAYER>: DASHED
- -------
- Command:COLOR
- ------
- New entity color <BYLAYER>: BLUE
- -----
- Command: LAYER
- -------
- ?/Make/Set/New/On/Off/Color/Ltype/Freeze/Thaw: MAKE
- -----
- New current layer <0>: ANNOTATION
- -------------
- ?/Make/Set/New/On/Off/Color/Ltype/Freeze/Thaw: RETURN
- --------
- Command: TEXT
- ------
- Start point or Align/Center/Fit/Middle/Right/Style: 2 ,2
- -------
- Height <0.2000>: .3
- ----
- Rotation angle <0>: 30
- -----
- Text: So long , and thanks for all the fish!
- ---------------------------------------
- Command: (setq e (entget (entlast)))
- -----------------------------
-
-
- é φΓ«¼ ß½πτáÑ à íπñÑΓ πßΓá¡áó½¿óáΓ∞ ó ß»¿ß¬Ñ Γ«, ß½ÑñπÑΓ ¡¿ªÑ.
- Éáßß¼«ΓαÑ¡¿Ñ »α¿½«ªÑ¡¿∩ æ Éπ¬«ó«ñßΓóá ¬ AutoCADπ »α¿ñáßΓ ß¼δß½ φΓ«¼π
- ∩ß¡«¼π ß»¿ß¬π.
-
-
- ( (-1 . <Entity name: 6000003C>)
- (0 . "TEXT")
- (8 . "ANNOTATION")
- (6 . "DASHED"
- (62. 5)
- (38 . 3.500000)
- (10 2.000000 2.000000)
- (40 . 0.300000)
- (1 . "So long , and thanks for all the fish!")
- (50 . 0.523598)
- (41 . 1.000000)
- (51 . 0.000000)
- (7 . "STANDARD")
- (71 . 0)
- (72 . 0)
- (11 0.000000 0.000000)
- )
-
-
-
-
-
- - 72 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- 5. 4. 3. (entmod <elist>)
-
- 滿߫¬ <elist> »α«σ«ñ¿Γ Σπ¡¬µ¿ε ENTMOD, ó Σ«α¼áΓÑ ó«ºóαáΘáεΘÑ⌐
- Ñú« Σπ¡¬µ¿¿ ENTGET, ¿ «í¡«ó½∩ÑΓ ¿¡Σ«α¼áµ¿«¡¡πε íáºπ ñá¡¡δσ »α¿¼¿Γ¿óá,
- ¿¼∩ ¬«Γ«α«ú« «»αÑñѽѡ« ß«ó«¬π»¡«ßΓ∞ε -1 ó <elist>. Äñ¡á¬«, ú½áó¡δ⌐ ¼Ñσá-
- ¡¿º¼ , ß »«¼«Θ∞ε ¬«Γ«α«ú« LISP «í¡«ó½∩ÑΓ íáºπ ñá¡¡δσ , φΓ« ó«ßßΓá¡«ó½Ñ¡¿Ñ
- »α¿¼¿Γ¿ó«ó Σπ¡¬µ¿Ñ⌐ ENTGET, ¼«ñ¿Σ¿¬áµ¿∩ ß»¿ß¬á , «»αÑñѽ∩εΘÑú« »α¿¼¿Γ¿ó
- ( ºá»«¼¡¿ΓÑ , τΓ« ñ½∩ φΓ«ú« «τÑ¡∞ »«½Ñº¡á Σπ¡¬µ¿∩ SUBST AutoLISPá) ¿ «í-
- ¡«ó½∩εΘÑú« »α¿¼¿Γ¿ó ó íáºÑ ñá¡¡δσ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ ENTMOD.
- öπ¡¬µ¿∩ ENTMOD ¿¼ÑÑΓ ¡Ñ¬«Γ«αδÑ «úαá¡¿τÑ¡¿∩ »« ¿º¼Ñ¡Ñ¡¿∩¼ , ¬«Γ«αδÑ
- «¡á ñѽáÑΓ. é« - »Ñαóδσ , ¡Ñ½∞º∩ ¿º¼Ñ¡∩Γ∞ Γ¿»δ »α¿¼¿Γ¿ó«ó . (àß½¿ óδ σ«-
- Γ¿ΓÑ ßñѽáΓ∞ φΓ« , »α¿¼Ñ¡¿ΓÑ Γ«½∞¬« Σπ¡¬µ¿ε ENTDEL ¿ ßñѽá⌐ΓÑ ¡«óδ⌐ »α¿-
- ¼¿Γ¿ó ¬«¼á¡ñ«⌐ COMMAND ). AutoCAD ñ«½ªÑ¡ º¡áΓ∞ óßÑ «íΩѬΓδ, ¬«Γ«αδÑ π»«-
- ¼¿¡áεΓß∩ ó ß»¿ß¬Ñ »α¿¼¿Γ¿ó«ó, ñ« Γ«ú« ¬á¬ óδ»«½¡Ñ¡á Σπ¡¬µ¿∩ ENTMOD. Æá¬,
- ßΓ¿½∞ ΓѬßΓá , Γ¿» ½¿¡¿¿ , Σ«α¼á ¿ ¿¼Ñ¡á í½«¬«ó ñ«½ª¡δ íδΓ∞ »αÑñóáα¿-
- Γѽ∞¡« «»αÑñѽѡδ ó τÑαΓѪÑ, ñ« Γ«ú«, ¬á¬ Σπ¡¬µ¿∩ ENTMOD ¼«ªÑΓ ¿σ ¿ß»«-
- ½∞º«óáΓ∞ ó ß»¿ß¬Ñ »α¿¼¿Γ¿ó«ó. ê߬½ετÑ¡¿Ñ¼ ó φΓ«¼ ß½πτáÑ ∩ó½∩ÑΓß∩ ¿¼∩
- πα«ó¡∩ , __ENTMOD «ßó«í«ñ¿Γ ¡«óδ⌐ πα«óÑ¡∞ »« π¼«½τá¡¿ε, ¿ß»«½∞ºπ∩
- ¬«¼á¡ñπ "LAYER NEW" , Ñß½¿ ó φΓ«¼ ß»¿ß¬Ñ π¬áºδóáÑΓß∩ »αÑñóáα¿Γѽ∞¡«
- ¡Ñ «»αÑñѽѡ¡δ⌐ πα«óÑ¡∞.
- öπ¡¬µ¿∩ ENTMOD óδ»«½¡∩ÑΓ ¡Ñ¬«Γ«απε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñÑ⌐ßΓó¿⌐,
- ¬á¬ ¬«¼á¡ñá DXFIN, »α«óÑα∩∩ ß»¿ß«¬,ß«ñÑαª¿Γ ½¿ «¡ , ñá¡¡¡δÑ ¿º Σá⌐½á
- DXF. àß½¿ «í¡áαπªÑ¡á ßÑα∞Ѻ¡á∩ «Φ¿í¬á , Γá¬á∩ ßÑα∞Ѻ¡á∩ ,τΓ« íáºá ñá¡-
- ¡δσ ¡Ñ «í¡«ó½∩ÑΓß∩, ó«ºóαáΘáÑΓß∩ "nil". é »α«Γ¿ó¡«¼ ß½πτáÑ, Σπ¡¬µ¿∩
- ENTMOD ó«ºóαáΘáÑΓ ß»¿ß«¬ ó ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá. öπ¡¬µ¿∩ ENTMOD ¡Ñ ¿º¼Ñ-
- ¡¿Γ ó¡πΓαÑ¡¡¿Ñ »«½∩ , Γá¬¿Ñ ¬á¬ ¿¼∩ »α¿¼¿Γ¿óá ó ß«ó«¬π»¡«ßΓ¿ -2 Σπ¡¬-
- µ¿¿ SEQEND, »«»δΓ¬¿ ¿º¼Ñ¡¿Γ∞ Γá¬¿Ñ »«½∩ »α«ßΓ« ¿ú¡«α¿απεΓß∩.
- è«úñá «í¡«ó½∩ÑΓß∩ ú½áó¡δ⌐ »α¿¼¿Γ¿ó , Σπ¡¬µ¿∩ ENTMOD íπñÑΓ ¼«ñ¿-
- Σ¿µ¿α«óáΓ∞ »α¿¼¿Γ¿ó ¿ «í¡«ó¿Γ ¿º«íαáªÑ¡¿Ñ ¡á φ¬αá¡Ñ ( ó¬½ετá∩ »«ñ-
- »α¿¼¿Γ¿óδ ) . è«úñá Σπ¡¬µ¿∩ ENTMOD «íδτ¡« «í¡«ó½∩ÑΓ »«ñ»α¿¼¿Γ¿ó ( óÑαΦ¿¡δ
- »«½¿½¿¡¿⌐ , áΓΓα¿íπΓδ í½«¬«ó ), »«ñ»α¿¼¿Γ¿ó íπñÑΓ «í¡«ó½Ñ¡ ó íáºÑ ñá¡¡δσ ,
- ¡« ¿º«íαáªÑ¡¿Ñ ¡á φ¬αá¡Ñ ¡Ñ «í¡«ó½∩ÑΓß∩. Å«ß½Ñ óßÑσ ¼«ñ¿Σ¿¬áµ¿⌐, ¬«Γ«αδÑ
- ßñѽá¡δ ß ñá¡¡δ¼¿ »«ñ»α¿¼¿Γ¿óἿ, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε ENTUPD, «»¿-
- ßá¡¡πε ¡¿ªÑ, ñ½∩ «í¡«ó½Ñ¡¿∩ ¿º«íαáªÑ¡¿∩ ¡á φ¬αá¡Ñ.
-
-
- 5. 4. 4. (entupd <ename>)
-
- èᬠ«»¿ßá¡« óδΦÑ, ¬«úñá Σπ¡¬µ¿∩ ENTMOD ¼«ñ¿Σ¿µ¿απÑΓ óÑαΦ¿¡δ
- »«½¿½¿¡¿⌐ ¿½¿ áΓΓα¿íπΓδ í½«¬«ó , »«½¡δ⌐ ¬«¼»½Ñ¬Γ »α¿¼¿Γ¿óá ¡Ñ «í¡«ó½∩ÑΓ-
- ß∩ ¡á φ¬αá¡Ñ. ìá»α¿¼Ñα, Ñß½¿ í뫨 ¼«ñ¿Σ¿µ¿α«óá¡δ 100 óÑαΦ¿¡ ß½«ª¡δσ »«-
- ½¿½¿¡¿⌐ , »ÑαÑßτÑΓ ¿ »ÑαÑτÑατ¿óá¡¿Ñ Polyline, ΓᬠªÑ ¬á¬ ¿ ¬áªñ«⌐ óÑα-
- Φ¿¡δ , ¬«Γ«αá∩ íδ½á ¿º¼Ñ¡Ñ¡á, íπñÑΓ ßñѽᡫ ¡Ñ»α¿Ñ¼½Ñ¼« ¼Ññ½Ñ¡¡«. Äíδτ-
- ¡«, ¼«ª¡« »α¿¼Ñ¡¿Γ∞ Σπ¡¬µ¿ε ENTUPD, τΓ«íδ ¼«ñ¿Σ¿µ¿α«óá¡¡πε Polyline
- ¿½¿ í½«¬¿ «í¡«ó¿Γ∞ ¡á φ¬αá¡Ñ. öπ¡¬µ¿∩ ENTUPD ¡áº«óÑΓ ¿¼Ñ¡Ñ¼ »α¿¼¿Γ¿óá
- ½εíπε τáßΓ∞ Poliline ¿½¿ í½«¬á. ìÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ¿¼ÑΓ∞ ºáú«½«ó«¬ »α¿¼¿-
- Γ¿óá,Σπ¡¬µ¿∩ ENTUPD ¡á⌐ñÑΓ ºáú«½«ó«¬. è«úñá Σπ¡¬µ¿∩ ENTUPD »αÑñ¡áº¡áτÑ¡á
- ñ½∩ »«½¿½¿¡¿⌐ ¿ áΓΓα¿íπΓ«ó í½«¬«ó ,ÑÑ ¼«ª¡« óδºóáΓ∞ ñ½∩ ½εí«ú« »α¿¼¿Γ¿-
- óá. Ä¡á óßÑúñá íπñÑΓ ó«ßßΓá¡áó½¿óáΓ∞ »α¿¼¿Γ¿ó ¡á φ¬αá¡Ñ , ó¬½ετá∩ óßÑ
- »«ñ»α¿¼¿Γ¿óδ.
-
-
- 5. 4. 5. Äúαá¡¿τÑ¡¿∩
-
- ê¼Ñ¡á »α¿¼¿Γ¿ó«ó ( entity names ) ¿ ¡áí«αδ óδí«αá ( selection- sets )
-
-
-
-
- - 73 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ñÑ⌐ßΓó¿Γѽ∞¡δ Γ«½∞¬« ó ΓÑτÑ¡¿Ñ ßÑá¡ßá αÑñá¬Γ¿α«óá¡¿∩ ,ó ¬«Γ«α«¼ «¡¿ »α¿-
- ¼Ñ¡∩εΓß∩ ó AutoCADÑ. Æá¬, Ñß½¿ óδ »«»δΓáÑΓÑß∞ »α«¿ºóÑßΓ¿ ¬á¬¿Ñ-¡¿íπñ∞ »«-
- ß½ÑñπεΘ¿Ñ ñÑ⌐ßΓó¿∩ , »«¬á á¬Γ¿ó¡δ ¬«¼á¡ñδ PLINE ¿½¿ ATTEDIT , íπñÑΓ ó«º-
- óαáΘÑ¡« " nil" ¿ ºá»α«ß Σπ¡¬µ¿¿ ¡Ñ íπñÑΓ óδ»«½¡Ñ¡.
-
- ENTMOD τΓ«íδ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ßπΘÑßΓóπεΘ¿⌐ »α¿¼¿Γ¿ó
- ENTUPD τΓ«íδ ó«ßßΓá¡«ó¿Γ∞ ¼«ñ¿Σ¿µ¿α«óá¡¡δ⌐ ß½«ª¡δ⌐ »α¿¼¿Γ¿ó
- ENTDEL τΓ«íδ ¡Ñ πñá½∩Γ∞ ¿ ó«ßßΓá¡«ó¿Γ∞ π¡¿τΓ«ªÑ¡¡δ⌐ »α¿¼¿Γ¿ó
-
-
-
-
- 5. 5. Åα¿¼Ñ¡Ñ¡¿Ñ ó AutoCADÑ ¿¼Ñ¡ »α¿¼¿Γ¿ó«ó ¿ ¡áí«α«ó óδí«αá
-
-
-
- ê¼Ñ¡á »α¿¼¿Γ¿ó«ó (entity name) ¿ ¡áí«αδ óδí«αá (selection-sets)
- ¡Ñ«íσ«ñ¿¼δ ñ½∩ Γ«ú« , τΓ«íδ óóÑßΓ¿ ¿º LISPá «íΩѬΓδ óδí«αá ó «ΓóÑΓ ¡á
- »«ñ߬Ậπ. Æá¬¿¼ «íαẫ¼ , »α¿¼¿Γ¿óδ , ¡áºóá¡¡δÑ LISP«¼, ¼«úπΓ αáí«ΓáΓ∞
- »« ¬«¼á¡ñá¼ AutoCADá. Å«ñ߬Ậπ "Select objects:" LISP ¼«ªÑΓ ß¡áíñ¿Γ∞
- ¿¼Ñ¡Ñ¼ »α¿¼¿Γ¿óá, ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓ Ññ¿¡ßΓóÑ¡¡δ⌐ »α¿¼¿Γ¿ó ¿½¿ ¡áí«α
- óδí«αá , τΓ«íδ óδíαáΓ∞ óßÑ »α¿¼¿Γ¿óδ ó ¡áí«αÑ. ÅÑαÑñáτá ¿¼Ñ¡ »α¿¼¿Γ¿ó«ó ¿
- ¡áí«αá óδí«αá ¿º LISPá 󫺼«ª¡á ó óδí«αÑ "Last"( «íÑ τáßΓ¿ ,
- ¬á¬ ß»«ß«í¡«ßΓ∞ óδí¿αáΓ∞ »α¿¼¿Γ¿óδ, ¡Ñ óº¿αá∩ ¡á ó¿ñ¿¼«ßΓ∞,Γᬠ¿
- ¡Ñ ߻ѵ¿Σ¿µ¿α«óáΓ∞ óδíαá¡¡δÑ Γ«τ¬¿).
- éß∩¬¿⌐ αáº, ¬«úñá AutoCAD »«ºó«½∩ÑΓ ßñѽáΓ∞ óδí«α «íΩѬΓá Γ«τ-
- ¬«⌐, ß»¿ß¬¿ ó »α«úαá¼¼Ñ , ó«ºóαáΘáѼδÑ Σπ¡¬µ¿Ñ⌐ ENTSEL, ñ«»πßΓ∩Γ »α«-
- µÑñπαπ óδí«αá. Ä¡¿ óδí¿αáεΓ »α¿¼¿Γ¿ó ¿º ß»¿ß¬á, «»αÑñѽ∩∩ Γ«τ¬π ó ß»¿-
- ߬Ñ, ¬á¬ óδíαá¡¡πε Γ«τ¬π. ¥Γ« »«ºó«½∩ÑΓ LISPπ »ÑαÑ⌐Γ¿ ¬ óó«ñπ óδíαá¡¡δσ
- Γ«τѬ Γᬿ¼¿ ¬«¼á¡ñἿ, ¬á¬ BREAK, TRIM ¿ EXTEND. Å«¼¡¿ΓÑ, τΓ« ß»¿ß¬¿
- Σ«α¼δ ENTSEL ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ñαπú¿σ óδí«α«ó Γ«ªÑ , ΓᬠªÑ
- Γ«τ¡«, ¬á¬ Γ«τ¬á, óδí¿αáѼá∩ »«ºó«½∩εΘÑ⌐ ¬«¼á¡ñ«⌐. 滿߬¿ Σ«α¼δ ENTSEL
- ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ß ¬«¼á¡ñἿ FILLET ¿ CHAMFER, ¬«Γ«αδÑ »α¿¼Ñ¡∩-
- εΓ ñóá »α¿¼¿Γ¿óá ¿ Γ«τ¬¿ ¿º ¼Ñσá¡¿º¼á óδí«αá.
-
-
- 5. 6. ä«ßΓπ» ¬ Γáí½¿µÑ ß¿¼ó«½«ó
- :
- Åα¿óÑñÑ¡¡δÑ ¡¿ªÑ Σπ¡¬µ¿¿ TBLNEXT ¿ TBLSEARCH ß¡áíªÑ¡δ Γáí½¿µÑ⌐ :
- ß¿¼ó«½«ó, ¬«Γ«αá∩ ñ«ßΓπ»¡á Γ«½∞¬« ñ½∩ τΓÑ¡¿∩ ¿º AutoCADá πα«ó¡∩, Γ¿»á :
- ½¿¡¿¿, ¿¼Ñ¡«óá¡¡«ú« ó¿ñá, ßΓ¿½∩ ΓѬßΓá ¿ «»αÑñѽѡ¿∩ í½«¬á. :
-
- :
- :
- 5. 6. 1. (tblnext <table name> [<first>]) :
- :
- ¥Γá Σπ¡¬µ¿∩ ¿ß»«½∞ºπÑΓß∩ ñ½∩ »α«ß¼«Γαá óßÑσ Γáí½¿µ ß¿¼ó«- :
- ½«ó. ÅÑαóδ⌐ áαúπ¼Ñ¡Γ - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α ß¿¼ó«½á ¿¡ΓÑαÑßπεΘÑ⌐ óáß Γáí- :
- ½¿µδ. äÑ⌐ßΓó¿Γѽ∞¡δ ¿¼Ñ¡á "LAYER" , "LTYPE" , "VIEW" , "STYLE" ¿ "BLOCK":
- ê¼Ñ¡á¼ ¡Ñ ¡πªÑ¡ óÑασ¡¿⌐ αÑú¿ßΓα. è«úñá »α¿ßπΓßΓóπÑΓ óΓ«α«⌐ áαúπ¼Ñ¡Γ , :
- ¿ ¡Ñ "nil", Γáí½¿µá ß¿¼ó«½«ó »ÑαÑó«ñ¿Γß∩ ¡á ¡áτὫ ¿ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ó :
- ¡Ñ⌐ ó«ßßΓá¡áó½¿óáÑΓß∩, ó »α«Γ¿ó¡«¼ ß½πτáÑ , ó«ßßΓá¡áó½¿óáÑΓß∩ :
- ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ ó Γáí½¿µÑ. è«úñá ß«óßѼ ¡ÑΓ φ½Ñ¼Ñ¡Γ«ó ó Γáí½¿µÑ , ó«º-:
- óαáΘáÑΓß∩ "nil". ôñá½Ñ¡¡δÑ φ½Ñ¼Ñ¡Γδ Γáí½¿µδ ¡Ñ ó«ºóαáΘáεΓß∩. :
- è«úñá φ½Ñ¼Ñ¡Γ «í¡áαπªÑ¡, «¡ ó«ºóαáΘáÑΓß∩ , ¬á¬ ß»¿ß«¬ Γ«τÑτ¡δσ :
- »áα DXF ¬«ñ«ó ¿ º¡áτÑ¡¿⌐ , »«ñ«í¡« Γ«¼π ,¬«Γ«αδ⌐ ó«ºóαáΘáÑΓ Σπ¡¬µ¿∩ :
-
-
-
-
- - 74 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ENTGET.
- :
- Åα¿¼Ñα: :
- :
- (tblnext "layer" T) ó«ßßΓá¡áó½¿óáÑΓ »Ñαóδ⌐ πα«óÑ¡∞ :
-
- ¼«ªÑΓ óÑα¡πΓ∞ :
- ((0 . "LAYER") ß¿¼ó«½∞¡δ⌐ Γ¿» :
- (2 . "0") ¿¼∩ ß¿¼ó«½á :
- (70 . 0) Σ½áú¿ :
- (62 . 7) µóÑΓ, ¡ÑúáΓ¿ó ó䬽ετÑ¡ :
- (6 . "CONTINUOUS") Γ¿» ½¿¡¿¿ :
- ) :
- :
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ , τΓ« ß«ó«¬π»¡«ßΓ¿ "-1" ¡ÑΓ. AutoCAD ºá»«¼¿¡áÑΓ:
- »«ß½Ññ¡¿⌐ φ½Ñ¼Ñ¡Γ , ó«ºóαáΘáѼδ⌐ ¿º Γáí½¿µδ, ¿ »α«ßΓ« ó«ºóαáΘáÑΓ «ñ¿¡ :
- ¿º ß½ÑñπεΘ¿σ φ½Ñ¼Ñ¡Γ«ó ,»α¿ ¬áªñ«¼ ó맮óÑ TABNEXT«¼ φΓ«⌐ Γáí½¿µδ. :
- è«úñá óδ ¡áτ¿¡áÑΓÑ »α«ß¼«Γα Γáí½¿µδ , óδ ñ«½ª¡δ íδΓ∞ πóÑαÑ¡δ , τΓ« óΓ«- :
- α«⌐ áαúπ¼Ñ¡Γ ¡Ñ "nil", τΓ«íδ »ÑαѼ«ΓáΓ∞ Γáí½¿µπ ¿ óÑα¡πΓ∞ »Ñαóδ⌐ φ½Ñ-:
- ¼Ñ¡Γ . ¥½Ñ¼Ñ¡Γδ, ó«ßcΓá¡«ó½Ñ¡¡δÑ ¿º Γáí½¿µδ " BLOCK" , ó¬½ετáεΓ ó ßÑí∩ :
- ß«ó«¬π»¡«ßΓ∞ "-2" c ¿¼Ñ¡Ñ¼ »Ñαó«ú« »α¿¼¿Γ¿óá ó «»αÑñѽѡ¿¿ :
- í½«¬á (¿½¿ ½εí«ú«). :
- :
- êΓá¬, ¡áº«óѼ í½«¬ "BOX": :
- :
- (tblnext "block") ó«ßßΓá¡áó½¿óáÑΓ «»αÑñѽѡ¿Ñ í½«¬á :
- ¼«ªÑΓ óÑα¡πΓ∞: :
- ((0 . "BLOCK") Γ¿» ß¿¼ó«½á :
- (2 . "BOX") ¿¼∩ ß¿¼ó«½á :
- (70 . 0) Σ½áª¬¿ :
- (10 9.000000 2.000000 0.000000) ò,ô,Z :
- (-2 . <Entity name: 40000126)) »Ñαóδ⌐ »α¿¼¿Γ¿ó :
- ) :
- :
- ê¼∩ »α¿¼¿Γ¿óá ó ß«ó«¬π»¡«ßΓ¿ "-2" »α¿¡¿¼áÑΓß∩ Σπ¡¬µ¿∩¼¿ ENTGET ¿ :
- ENTNEXT ,¡« ¡¿ ¬á¬¿¼¿ ñαπú¿¼¿ Σπ¡¬µ¿∩¼¿. ¥Γ« º¡áτ¿Γ, τΓ« óδ ¡Ñ ¼«ªÑΓÑ :
- ¼«ñ¿Σ¿µ¿α«óáΓ∞ Γᬫ⌐ »α¿¼¿Γ¿ó Σπ¡¬µ¿Ñ⌐ ENTMOD ¿½¿ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ :
- SSADD ¿½¿ ENTSEL , τΓ«íδ »«¼ÑßΓ¿Γ∞ Ñú« ó selectin-set. Åα¿¼Ñ¡∩∩ ß«ó«- :
- ¬π»¡«ßΓ∞ "-2"¿¼Ñ¡¿ »α¿¼¿Γ¿óá ó Σπ¡¬µ¿¿ ENTNEXT, óδ ¼«ªÑΓÑ ß¬á¡¿α«óáΓ∞ :
- »α¿¼¿Γ¿óδ, ߪ¿¼á∩ «»αÑñѽѡ¿∩ í½«¬á; Σπ¡¬µ¿∩ ENTNEXT ó«ºóαáΘáÑΓ "nil" :
- »«ß½Ñ »«ß½Ññ¡Ñú« »α¿¼¿Γ¿óá ó «»αÑñѽѡ¿Ñ í½«¬á.
-
-
- 5. 6. 2. (tblsearch <table name> <symbol>
-
-
- ¥Γá Σπ¡¬µ¿∩ »α«ß¼áΓα¿óáÑΓ Γáí½¿µπ ß¿¼ó«½«ó , ¿ñÑ¡Γ¿Σ¿µ¿απѼπε :
- <table name> ( Γ« ªÑ ßá¼«Ñ , τΓ« Σπ¡¬µ¿∩ TBLNEXT), «Γδ߬¿óá∩ ¿¼∩ ß¿¼ó«½á:
- »α¿ßó«Ñ¡¡«ú« <symbol>. Äíá ¿¼Ñ¡¿ áóΓ«¼áΓ¿τÑ߬¿ »α¿ó«ñ∩Γß∩ ¬ óÑασ¡Ñ¼π αÑ-
- ú¿ßΓαπ. è«úñá «í¡áαπªÑ¡« ¿¼∩ φ½Ñ¼Ñ¡Γá, »«ñ«í¡«Ñ Γ«¼π ,¬«Γ«α«Ñ :
- ñá½ <symbol>, φΓá ºá»¿ß∞ ó«ºóαáΘáÑΓß∩ ó Σ«α¼áΓÑ , «»¿ßá¡¡«¼ Σπ¡¬µ¿Ñ⌐ :
- TBLNEXT. àß½¿ Γᬫ⌐ φ½Ñ¼Ñ¡Γ ¡Ñ «í¡áαπªÑ¡, ó«ºóαáΘáÑΓß∩ "nil" . :
- :
- ìá»α¿¼Ñα: :
- :
- (tblsearch "style" "standard") πßΓá¡áó½¿óáÑΓ ßΓ¿½∞ ΓѬßΓá :
-
-
-
-
- - 75 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- :
- ¼«ªÑΓ óÑα¡πΓ∞: :
- :
- ((0 . "STYLE") Γ¿» ß¿¼ó«½á :
- (2 . "STANDARD") ¿¼∩ ß¿¼ó«½á :
- (70 . 0) Σ½áª¬¿ :
-
- (40 . 0.000000) Σ¿¬ß¿α«óá¡¿Ñ óδß«Γδ :
- (41 . 1.000000) Σá¬Γ«α Φ¿α¿¡δ :
- (50 . 0.000000) πú«½ :
- (71 . 0) úÑ¡Ñα¿α«óá¡¿Ñ Σ½áª¬«ó :
- (3 . "txt") ßá¼δ⌐ »Ñαóδ⌐ font file :
- (4 . "") í«½∞Φ«⌐ font file :
- ) :
- :
- Å«α∩ñ«¬ óó«ñ«ó ó«ßßΓá¡«ó½Ñ¡ ¿º TBLNEXT íѺ ó«ºñÑ⌐ßΓó¿∩ Σπ¡¬µ¿¿ :
- TBLSEARCH.
-
-
- 5. 7. ä«ßΓπ» ¬ úαáΣ¿τÑ߬«¼π φ¬αá¡π ¿ πßΓα«⌐ßΓóá¼ óó«ñá
-
- öπ¡¬µ¿¿ AutoLISPá , «»¿ßá¡¡δÑ ó φΓ«¼ αáºñѽÑ, «íÑß»Ñτ¿óáεΓ »α∩-
- ¼«⌐ ñ«ßΓπ» ¬ úαáΣ¿τÑ߬«¼π φ¬αá¡π AutoCADá, ¿ πßΓαá¿óáεΓ óσ«ñ ¿º LISPá,
- ¿ »«ºó«½∩εΓ ßαÑñßΓóἿ LISP-¬«¼á¡ñ óºá¿¼«ñÑ⌐ßΓó«óáΓ∞ ß »«½∞º«óáΓѽѼ,
- ¬á¬ Ñß½¿ íδ óδ»«½¡Ñ¡¿Ñ í佫 íѺ AutoCADá . ¥Γ¿ ¬«¼á¡ñδ ¼«úπΓ πßΓα«¿Γ∞
- íÑß»«α∩ñ«¬ ¡á φ¬αá¡Ñ. Äñ¡á¬«, ½εí«Ñ »«óαѪñÑ¡¿Ñ , ¬«Γ«α«Ñ «¡¿ ¡á¡«ß∩Γ,
- ¼«ªÑΓ íδΓ∞ «Γ¼Ñ¡Ñ¡« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε:
-
- (grtext)
- (redraw)
-
- «ñ¡á¬« , ¡ÑΓ ¡πªñδ ¬áßáΓ∞ß∩ φΓ«ú«. ¥Γ¿ Σπ¡¬µ¿¿ Γ«½∞¬« ñ½∩ «»δΓ¡δσ »«½∞-
- º«óáΓѽÑ⌐. ü«½∞Φ¿¡ßΓóπ »α¿¼Ñ¡Ñ¡¿⌐ LISPá ¡Ñ ¡πª¡δ φΓ¿ Σπ¡¬µ¿¿. Å«-
- ½∞º«óáΓѽÑ⌐ »αÑñπ»αѪñáѼ , τΓ« ñÑ⌐ßΓó¿∩ φΓ¿σ Σπ¡¬µ¿⌐ ¼«úπΓ íδΓ∞ ¿º-
- ¼Ñ¡Ñ¡δ «Γ óδ»πß¬á ¬ óδ»π߬π ß¿ßΓѼδ AutoCAD ¿, ß½Ññ«óáΓѽ∞¡«, Autodesk,
- »«φΓ«¼π ¡ÑΓ úáαá¡Γ¿¿ π¬áºá¡¡«⌐ óδΦÑ ß«ó¼ÑßΓ¿¼«ßΓ¿ »α¿¼Ñ¡Ñ¡¿⌐ φΓ¿σ Σπ¡¬-
- µ¿⌐. Åα¿¼Ñ¡Ñ¡¿Ñ Σπ¡¬µ¿⌐ GRTEXT ¿ GRREAD Γá¬ªÑ ¼«ªÑΓ íδΓ∞ ¡Ñ»«ñσ«ñ∩ΘÑ ,
- ñ½∩ αáí«Γδ ¡á ½εí«⌐ ªÑßΓ¬«⌐ ¬«¡Σ¿úπαᵿ¿, Ñß½¿ »«½∞º«óáΓѽ∞ ¡Ñ «τÑ¡∞
- ó¡¿¼áΓѽѡ , τΓ«íδ ᬬπαáΓ¡« ß½Ññ«óáΓ∞ »αáó¿½á¼ ¿σ ¿ß»«½∞º«óá¡¿∩ , »α¿-
- óÑñÑ¡¡δ¼ ¡¿ªÑ.
-
-
- 5. 7. 1. (grclear)
-
- ¥Γá Σπ¡¬µ¿∩ «τ¿ΘáÑΓ úαáΣ¿τÑ߬¿⌐ φ¬αá¡ AutoCADá. (é ß¿ßΓѼáσ ß
- «ñ¡¿¼ φ¬αá¡«¼ «¡á »ÑαѬ½ετ¿Γ úαáΣ¿τÑ߬¿⌐ φ¬αá¡ ß ΓѬßΓ«ó«ú« αѪ¿¼á
- ¡á »Ñαóδ⌐). Å«ñ߬Ậá , ßΓáΓπß ¿ ¼Ñ¡ε «ßΓáεΓß∩ ¡Ñ¿º¼Ñ¡¡δ¼¿. Äα¿ú¿¡á½
- ¼«ªÑΓ íδΓ∞ »ÑαÑóδóÑñÑ¡ ¡á úαáΣ¿τÑ߬¿⌐ φ¬αá¡ Σπ¡¬µ¿Ñ⌐ REDRAW.
-
-
- 5. 7. 2. (grdraw <from> <to> <color> [<highlight>])
-
- öπ¡¬µ¿∩ GRDRAW óδτÑατ¿óáÑΓ óÑ¬Γ«α ¼Ñªñπ ñóπ¼∩ Γ«τ¬á¼¿ . <from>
- ¿ <to> ∩ó½∩εΓß∩ Γ«τ¬á¼¿ (ß»¿ß¬¿ ¿º ñóπσ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ), ¬«Γ«-
- αδÑ «»αÑñѽ∩εΓ ¬«¡Ñτ¡δÑ Γ«τ¬¿ óÑ¬Γ«αá. è«¡Ñτ¡δÑ Γ«τ¬¿ «»αÑñѽ∩εΓß∩ ,
- ¬á¬ »½áóáεΘ¿Ñ Γ«τ¬¿ ñ½∩ óδτÑατ¿óá¡¿∩ ¬««αñ¿¡áΓ ¿ íπñÑΓ clipped, ¬á¬
-
-
-
-
- - 76 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ΓαÑí«óá¡¿Ñ , τΓ«íδ óδóÑßΓ¿ ¡á φ¬αá¡. éÑ¬Γ«α íπñÑΓ ¡áα¿ß«óá¡ ß µóÑΓ¡δ¼
- óδó«ñ«¼ , Ñß½¿ áαúπ¼Ñ¡Γ <color> µÑ½«Ñ τ¿ß½«, «»αÑñѽ∩Ѽ«Ñ ó úαπ»»Ñ -1 ó
- "XOR ink",¬«Γ«αá∩ ºá¬á¡τ¿óáÑΓ ½εí«Ñ Ñú« óδτÑατ¿óá¡¿Ñ ¿ π¡¿τΓ«ªáÑΓß∩,
- ¬«úñá »ÑαÑτÑατÑ¡«. àß½¿ áαúπ¼Ñ¡Γ <highlight> µÑ½«Ñ τ¿ß½« ¿ ¡Ñ "0",
- íπñÑΓ ¡áα¿ß«óá¡ óÑ¬Γ«α Γá¬, ¬á¬ ¼Ñσá¡¿º¼ ñ¿ß»½Ñ∩ óδßóÑΓ¿Γ óδíαá¡¡δÑ
- «íΩѬΓδ ( «íδτ¡« »«-Γ«τÑτ¡« ). àß½¿ <highlight> »α«»πΘÑ¡ ¿½¿ ¿¼ÑÑΓ º¡á-
- τÑ¡¿Ñ 0, íπñÑΓ ¿ß»«½∞º«óá¡ ¡«α¼á½∞¡δ⌐ αѪ¿¼ óδó«ñá ¡á φ¬αá¡.
-
-
- 5. 7. 3. ( grtext [<box> <text> [<highlight>]])
-
- öπ¡¬µ¿∩ GRTEXT »«ºó«½∩ÑΓ AutoLISPπ óδó«ñ¿Γ∞ ΓѬßΓ τáßΓ∩¼¿¿
- ¡á úαáΣ¿τÑ߬¿⌐ φ¬αá¡ ó AutoCADÑ. àß½¿ óδºδóáÑΓß∩ ß áαúπ¼Ñ¡Γ«¼
- <box> «Γ 0 ¿ ñ« ßἫú« óδß«¬«ú« τ¿ß½Ñ¡¡«ú« º¡áτÑ¡¿∩ í«¬ßá ó ¼Ñ¡ε φ¬αá¡á
- ¼¿¡πß 1, Σπ¡¬µ¿∩ óδóÑñÑΓ ¡á φ¬αá¡ ñ¿ß»½Ñ∩ ßΓ᫬«óδ⌐ áαúπ¼Ñ¡Γ <text>,
- ó π¬áºá¡¡δ⌐ ó ¼Ñ¡ε í«¬ß . ÆÑ¬ßΓ<text> íπñÑΓ c«¬αáΘÑ¡, Ñß½¿ «¡
- ß½¿Φ¬«¼ ñ½¿¡¡δ⌐ , ¿ ¡Ñ»α¿ú«ñÑ¡ ñ½∩ í«¬ßá, ¿ »πßΓ«Γá ºá»«½¡¿Γß∩ »α«íѽá-
- ¼¿, Ñß½¿ ΓѬßΓ ¬«α«τÑ. àß½¿ »α¿ßπΓßΓóπÑΓ Σá¬π½∞ΓáΓ¿ó¡δ⌐ áαúπ¼Ñ¡Γ
- (µÑ½«Ñ τ¿ß½«) <highlight> ¿ «¡ ¡Ñ 0 , ó »αÑñ¡áº¡áτÑ¡¡«¼ í«¬ßÑ
- íπñÑΓ óδßóÑτ¿óáΓ∞ß∩ ΓѬßΓ. àß½¿ <highlight> »α¿ßπΓßΓóπÑΓ ¿ 0, ΓѬßΓ ó
- »αÑñ¡áº¡áτÑ¡¡«¼ í«¬ßÑ ¡Ñ íπñÑΓ óδßóÑτ¿óáΓ∞ß∩ ( ºá»«¼¡¿ΓÑ, τΓ« »α¿ óδßóÑ-
- τ¿óá¡¿¿ ñαπú«ú« ΓѬßΓá, í«¬ß áóΓ«¼áΓ¿τÑ߬¿ «Γ¼Ñ¡∩ÑΓ »αÑñδñπΘ¿⌐ ΓѬßΓ, ¬«-
- Γ«αδ⌐ íδ½ óδßóÑτÑ¡). è«úñá óδ »¿ΦÑΓÑ ó í«¬ßÑ , ΓѬßΓ ß¡áτá½á ñ«½ªÑ¡ íδΓ∞
- ¡á»¿ßá¡ íѺ áαúπ¼Ñ¡Γá <highlight>, ºáΓѼ óδßóÑτÑ¡. Æá¬á∩ ªÑ ΓѬßΓ«óá∩
- ßΓ᫬á , ¬á¬á∩ ó «α¿ú¿¡á½Ñ óó«ñ¿Γß∩ ó í«¬ß, ñ«½ª¡á óδßóÑτ¿óáΓ∞ß∩ ¿ ¡Ñ
- óδßóÑτ¿óáΓ∞ß∩. ÉѺπ½∞ΓáΓ«¼ ¡Ñß«í½εñÑ¡¿∩ φΓ¿σ »αáó¿½ íπñπΓ LISP »α«úαá¼-
- ¼δ , ¬«Γ«αδÑ óÑñπΓ ßÑí∩ »«-αạ«¼π ¡á αạδσ ñ¿ß»½Ñ∩σ. çừ¼¡¿ΓÑ , τΓ«
- φΓá Σπ¡¬µ¿∩ »α«ßΓ« óδó«ñ¿Γ ¡á φ¬αá¡ ñ¿ß»½Ñ∩ ΓѬßΓ, ¡áσ«ñ∩Θ¿⌐ß∩ ó »½«Θáñ¿
- φ¬αá¡á ; «¡á ¡Ñ ¿º¼Ñ¡∩ÑΓ φ½Ñ¼Ñ¡Γδ φ¬αá¡¡«ú« ¼Ñ¡ε.
- àß½¿ Σπ¡¬µ¿∩ GRTEXT óδºδóáÑΓß∩ í«¬ß«¼ ¡«¼Ñα -1, ΓѬßΓ íπñÑΓ
- óδóÑñÑ¡ ¡á φ¬αá¡ ó αѪ¿¼Ñ ßΓáΓπßá ½¿¡¿¿ . 使¡á ½¿¡¿¿ ºáó¿ß¿Γ «Γ ñ¿ß»½Ñ∩
- ( í«½∞Φ¿¡ßΓó« ¿σ ñ«»π߬áÑΓ , »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ , 40 αạ«ó¿ñ¡«ßΓÑ⌐, ºá
- ¿ß¬½ετÑ¡¿Ñ¼ ºá¼ÑτáΓѽ∞¡«ú« Color Graphics Adaptor Σ¿α¼δ IBM ). ÆÑ¬ßΓ
- íπñÑΓ ß«¬αáΘÑ¡ , τΓ«íδ »α¿ú¡áΓ∞ Ñú« ¬ ¿¼ÑεΘѼπß∩ ó αáß»«α∩ªÑ¡¿¿ »α«-
- ßΓαá¡ßΓóπ .
- àß½¿ ¿ß»«½∞ºπÑΓß∩ í«¬ß ß ¡«¼Ñα«¼ -2, ΓѬßΓ íπñÑΓ ¡á»¿ßá¡ ó ¬««α-
- ñ¿¡áΓáσ ßΓáΓπßá ½¿¡¿¿. çừ¼¡¿ΓÑ, τΓ« Ñß½¿ ߽Ѫѡ¿Ñ ¬««αñ¿¡áΓ ó¬½ε-
- τÑ¡«, óѽ¿τ¿¡δ, ºá»¿ßá¡¡δÑ ó φΓ« »«½Ñ , »ÑαÑ»¿ΦπΓß∩ ,¬á¬ Γ«½∞¬«
- π¬áºáΓѽ∞ »«Φ½ÑΓ ñαπú«⌐ ¡áí«α ¬««αñ¿¡áΓ. èáªñδ⌐ ¿º ¡«¼Ñα«ó , -1 ¿½¿ -2 ,
- ¿ú¡«α¿απÑΓ áαúπ¼Ñ¡Γ <highlight> , Ñß½¿ «¡ »α¿ßπΓßΓóπÑΓ .
- ìᬫ¡Ñµ, Σπ¡¬µ¿∩ DRTEXT ¼«ªÑΓ íδΓ∞ óδºóá¡á íѺ áαúπ¼Ñ¡Γ«ó, τΓ«-
- íδ ó«ßßΓá¡«ó¿Γ∞ óßε »½«Θáñ∞ ΓѬßΓá ¡á φ¬αá¡Ñ, ß Ñú« ßΓá¡ñáαΓ¡δ¼¿
- »ÑαѼѡ¡δ¼¿.
-
-
- 5. 7. 4. (grread [<trac>])
-
- öπ¡¬µ¿∩ GRREAD »«ºó«½∩ÑΓ óá¼ ¡Ñ»«ßαÑñßΓóÑ¡¡« ß½Ññ¿Γ∞ ºá ¼Ñσá¡¿º-
- ¼«¼ óσ«ñá AutoCADá, óδ߽Ѫ¿óá∩ π¬áºá¡¡δÑ ¼Ñσá¡¿º¼δ , ¬«úñá «¡¿ ¿º¼Ñ¡∩εΓß∩.
- ¥Γ«⌐ Σπ¡¬µ¿¿ ¡πª¡δ Γ«½∞¬« ߻ѵ¿Σ¿τÑ߬¿Ñ ¬«¼á¡ñδ , í«½∞Φ¿¡ßΓó« óσ«ñ«ó ó
- AutoLISP »α«⌐ñπΓ τÑαѺ αẽ¿τ¡δÑ Σπ¡¬µ¿¿ GETxxx , Γá¬¿Ñ ¬á¬ GETSTRING ,
- GETREAL ¿ »«ñ«í¡δÑ. Çαúπ¼Ñ¡Γ <track> , Ñß½¿ «¡ ¿¼ÑÑΓß∩ ¿ ¡Ñ "nil" ,
- ñáÑΓ ó«º¼«ª¡«ßΓ∞ óÑα¡πΓ∞ ¬««αñ¿¡áΓδ ¿º π¬áºá¡¡δσ ¼Ñσá¡¿º¼«ó , ¬«úñá «¡¿
- ñó¿úáεΓß∩, ¡Ñ ΓαÑíπ∩ óδí«αá ¡áªáΓ¿Ñ¼ ¬½áó¿Φ. ¥Γ«Γ ¼Ñσá¡¿º¼ AutoCAD «íδτ-
- ¡« ¿ß»«½∞ºπÑΓ ñ½∩ »α«Γ∩ú¿óá¡¿∩.
- öπ¡¬µ¿∩ GRREAD ó«ºóαáΘáÑΓ ß»¿ß«¬ , ó ¬«Γ«α«¼ »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ φΓ«
-
-
-
-
- - 77 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ¬«ñ , «»αÑñѽ∩εΘ¿⌐ Γ¿» óσ«ñá. éΓ«α«⌐ φ½Ñ¼Ñ¡Γ ß»¿ß¬á - ½εí«Ñ µÑ½«Ñ τ¿ß½«
- ¿½¿ ß»¿ß«¬ Γ«τѬ , ºáó¿ß∩Θ¿σ «Γ Γ¿»á óσ«ñá . è«ñδ ñ½∩ »Ñαó«ú« φ½Ñ¼Ñ¡Γá
- ó ß»¿ß¬Ñ ß½ÑñπεΘ¿Ñ:
-
- 2 σáαá¬ΓÑਧπÑΓ ¬½áó¿áΓπαπ - ó ¬«ñáσ ASCII, Γá¬ªÑ ¿ ñ½∩ óΓ«αú«
- φ½Ñ¼Ñ¡Γá
- 3 óδí¿αáѼá∩ Γ«τ¬á - ¬««αñ¿¡áΓδ , ¬á¬ ß»¿ß«¬
- 4 óδí¿αáѼδ⌐ φ½Ñ¼Ñ¡Γ ¼Ñ¡ε φ¬αá¡á- ¡«¼Ñα í«¬ßá , Γá¬ªÑ ¿ ñ½∩
- óΓ«α«ú« φ½Ñ¼Ñ¡Γá
- 5 αѪ¿¼ »α«Γ∩ú¿óá¡¿∩ ¬««αñ¿¡áΓ , Γá¬ªÑ ¿ ñ½∩ óΓ«α«ú« φ½Ñ¼Ñ¡Γá.
- 髺óαáΘáÑΓß∩ Γ«½∞¬« , Ñß½¿ óΓ«α«⌐ áαúπ¼Ñ¡Γ «»αÑñѽѡ ¿ «¡ ¡Ñ
- "nil"
- 6 BUTTONS óδí¿αáѼδ⌐ »π¡¬Γ ¼Ñ¡ε - ¡«¼Ñα ¬½áó¿Φ¿ φΓ« óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ
- 7 TABLET1 «µ¿Σα«óδóáѼδ⌐ »π¡¬Γ ¼Ñ¡ε - ¡«¼Ñα í«¬ßá φΓ« óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ
- 8 TABLET2 «µ¿Σα«óδóáѼδ⌐ »π¡¬Γ ¼Ñ¡ε - ¡«¼Ñα í«¬ßá φΓ« óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ
- 9 TABLET3 «µ¿Σα«óδóáѼδ⌐ »π¡¬Γ ¼Ñ¡ε - ¡«¼Ñα í«¬ßá φΓ« óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ
- 10 TABLET4 «µ¿Σα«óδóáѼδ⌐ »π¡¬Γ ¼Ñ¡ε - ¡«¼Ñα í«¬ßá φΓ« óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ
- 11 AUXI «µ¿Σα«óδóáѼδ⌐ »π¡¬Γ ¼Ñ¡ε - ¡«¼Ñα í«¬ßá φΓ« óΓ«α«⌐
- φ½Ñ¼Ñ¡Γ
- 12 ¬««αñ¿¡áΓδ, ßó∩ºá¡¡δÑ ß π¬áºáΓѽѼ ¬½áó¿Φ , ó«ºóαáΘáѼδÑ,
- ¬á¬ óΓ«α«⌐ φ½Ñ¼Ñ¡Γ. éßÑúñá ß½ÑñπÑΓ Γ¿» 6 , τΓ«íδ ó«ºóαáΓ¿Γ∞
- ᯨ᮪
- 13 óδí«α óδßóÑτÑ¡¡«ú« »π¡¬Γá ¼Ñ¡ε φ¬αá¡á »α¿ »«¼«Θ¿ óó«ñá ß
- ¬½áó¿áΓπαδ
- éó«ñ CTRL C ó Γ« óαѼ∩ ¬á¬ ¿ñÑΓ GRREAD , ó맮óÑΓ »αÑαδóá¡¿Ñ
- (abort) LISP »α«úαá¼¼δ ß ¬½áó¿áΓπαδ. ïεí«⌐ ñαπú«⌐ óσ«ñ »α«⌐ñÑΓ »α∩¼«
- ¬ GRREAD ,ñáóá∩ φΓ¿¼ 󫺼«ª¡«ßΓ∞ ºá¬«¡τ¿Γ∞ ¬«¡Γα«½∞ ¡áñ ¼Ñσá¡¿º¼«¼
- óσ«ñá.
-
-
-
- 5. 8. Äíαáºµδ »α«úαá¼¼
-
- æ½ÑñπεΘ¿Ñ LISP »α«úαá¼¼δ ¿½½εßΓα¿απεΓ ó«º¼«ª¡«ßΓ¿ , «»¿ßá¡¡δÑ ó
- φΓ«⌐ ú½áóÑ.
-
- 5. 8. 1. ôñá½Ñ¡¿Ñ πα«ó¡∩
-
- ¥Γá »α«úαá¼¼á óδ»«½¡∩ÑΓ ¬«¼á¡ñπ DELLAYER , τΓ«íδ πñ὿Γ∞ óßÑ
- »α¿¼¿Γ¿óδ «»αÑñѽѡ¡«ú« πα«ó¡∩.
-
- ; ôñá½Ñ¡¿Ñ óßÑσ »α¿¼¿Γ¿ó«ó ¡á «»αÑñѽѡ¡«¼ πα«ó¡Ñ
-
- (defun C : DELLAYER (/ e l)
- (setq l (strcase (getstring "\nLayer to delete?")))
-
- ; çá»π߬ τÑατÑ¡¿∩ ߬᡿α«ó᡿Ѽ »Ñαó«ú« »α¿¼¿Γ¿óá
- (setq e (entnext))
-
- ; Åα«óÑα¬á πα«ó¡Ñ⌐ φΓ¿σ »α¿¼¿Γ¿ó«ó (8 úαπ»»)
- (while e
-
-
-
-
- - 78 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (if (= l (cdr (assoc 8 (entget e))))
- ; è«ααÑ¬Γ¿α«óá¡¿Ñ πα«ó¡∩... πñá½Ñ¡¿Ñ φΓ«ú« πα«ó¡∩
- (entdel e)
- )
- ; éº∩Γ∞ ß½ÑñπεΘ¿⌐ »α¿¼¿Γ¿ó
- (setq e (entnext e))
-
- ; ÄßΓá¡«ó ñ« ΓÑσ »«α »«¬á ¡Ñ íπñÑΓ í«½∞ΦÑ »α¿¼¿Γ¿ó«ó
- )
- )
-
- öπ¡¬µ¿∩ DELLAYER »α«óÑα∩ÑΓ 8 úαπ»» ( ¿¼∩ πα«ó¡∩ ) ¬áªñ«ú« »α¿¼¿-
- Γ¿óá τÑαΓѪá, »α«ß¼áΓα¿óá∩ »α¿¼¿Γ¿óδ ¡á ߻ѵ¿Σ¿µ¿απѼ«¼ πα«ó¡Ñ. ÆÑßΓ¿α«-
- ó᡿Ѽ ñαπú¿σ úαπ»» óδ ¼«ªÑΓÑ óδ»«½¡¿Γ∞ ¬«¼á¡ñδ, τΓ«íδ »α«óÑα¿Γ∞ óßÑ
- »α¿¼¿Γ¿óδ «ß«íδσ Γ¿»«ó ( «¬απª¡«ßΓ¿, ¼«ªÑΓ íδΓ∞) ¿½¿ óßÑ »α¿¼¿Γ¿óδ «ß«-
- íδσ óδτ¿ß½Ñ¡¿⌐ ¿ »α«τÑÑ. :
- :
- :
- 5. 8. 2. ôßΓá¡«ó½Ñ¡¿Ñ ΓѬπΘÑú« πα«ó¡∩ :
- :
- ¥Γá »α«úαá¼¼á óδ»«½¡∩ÑΓ ¬«¼á¡ñπ SETLAYER , ñáóá∩ 󫺼«ª¡«ßΓ∞ :
- ¿º¼Ñ¡¿Γ∞ ΓѬπΘ¿⌐ πα«óÑ¡∞ »α«ßΓ« π¬áºδóá∩ ¡á ßπΘÑßΓóπεΘ¿⌐ «íΩÑ¬Γ :
- φΓ¿¼ πα«ó¡Ñ¼. :
- :
- ; ôßΓá¡«ó¿Γ∞ ΓѬπΘ¿⌐ πα«ó¡∞ φΓ«ú« ßπΘÑßΓóπεΘÑú« «íΩѬΓá :
- :
- (defun C:SETLAYER ( / e n) :
- (setq e (car (entsel "Pick an object on the desired layer: ")))
- (if e ( progn :
- :
- ; éº∩Γ∞ óσ«ñ¡δÑ ñá¡¡δÑ úαπ»» :
- (setq e (entget e) :
- ) :
- ; âαπ»»á 8 - φΓ« ¿¼∩ πα«ó¡∩ :
- (setq n (cdr (assoc 8 e))) :
- :
- ; ÉѺπ½∞ΓáΓ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ "LAYER SET" :
- (command "LAYER" "SET" n "") :
- :
- )) :
- ) :
- :
- éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ »«ñ«í¡δ⌐ »«ñσ«ñ , τΓ«íδ πßΓá¡«ó¿Γ∞ ΓѬπ- :
- Θ¿⌐ µóÑΓ, Γ¿» ½¿¡¿¿, ó«ºóδΦÑ¡¿Ñ ¿½¿ Γ«½Θ¿¡π φΓ¿σ ߻ѵ¿Σ¿µ¿απѼδσ «íΩÑ- :
- ¬Γ«ó. :
- :
- :
- 5. 8. 3. 꺼ѡѡ¿Ñ πα«ó¡∩ »α¿¼¿Γ¿óá
-
- ¥Γ« óáα¿áµ¿¿ ¬«¼á¡ñδ SETLAYER , »α¿óÑñÑ¡¡«⌐ óδΦÑ. ïπτΦÑ, τѼ πß- :
- Γá¡«ó½Ñ¡¿Ñ ΓѬπΘÑú« πα«ó¡∩ , φΓá ¬«¼á¡ñá ¿º¼Ñ¡∩ÑΓ óδíαá¡¡δÑ «íΩѬΓδ, :
- ñ½∩ Γ«ú« τΓ«íδ ¿¼ÑΓ∞ ëà ªÑ ßá¼δ⌐ πα«óÑ¡∞ , ¬á¬ ¿ π ñαπú«ú« óδíαá¡¡«ú« :
- «íΩѬΓá. :
- :
- (defun C:CHGLAYER (/ ss e n) :
- (princ "Select objects to be change ...\n") :
-
-
-
-
- - 79 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- :
- ; Äß¡«ó¡«⌐ ¡áí«α óδí«αá (selection-set) :
- (setq ss(ssget)) :
- :
- :
- :
- ;àß½¿ ½εíδÑ óδíαá¡¡δÑ «íΩѬΓδ.... :
- (if ss (progn :
- (setq e (car (entsel "Pick an object on the desired :
- layer: "))) :
- :
- ; àß½¿ «íΩÑ¬Γ íδ½ óδíαá¡... :
- (if e (progn :
- :
- ; ÅÑαÑ⌐ñ¿ ¡á φΓπ úαπ»»π ñá¡¡δσ :
- (setq e (entget e)) :
- :
- ; âαπ»»á 8 - φΓ« ¿¼∩ πα«ó¡∩ :
- (setq n (cdr (assoc 8 e))) :
- (command "CHANGE" SS "" "PROP" "LAYER" n "") :
- )) :
- )) :
- ) :
- :
- é φΓ«¼ »α¿¼ÑαÑ ¡áí«αδ óδí«αá ( selection - set) «íΩÑ¬Γ«ó , ¬«Γ«-:
- αδÑ ¼«ª¡« ¿º¼Ñ¡¿Γ∞ , πßΓá¡áó½¿óáεΓß∩ ß¿¼ó«½«¼ SS. ¡« »α¿¼Ñ¡∩Γ∞ «ñ¡áª-:
- ñδ πßΓá¡«ó½Ñ¡¡«Ñ ¿¼∩ πα«ó¡∩ ( ¿º 8 úαπ»»δ óδíαá¡¡«ú« «íΩѬΓá), óδí«α :
- ¡áí«αá ( selection - set ) SS »α«σ«ñ¿Γ ¬ ¬«¼á¡ñÑ "CHANGE Properties" :
- ( ¿º¼Ñ¡Ñ¡¿Ñ ß«íßΓóÑ¡¡«ßΓ¿) , τΓ«íδ óδºóáΓ∞ φΣΣÑ¬Γ ªÑ½áѼ«ú« ¿º¼Ñ¡Ñ¡¿∩. :
- :
-
- 5. 8. 4. ÆÑ¬ßΓ«óδ⌐ αÑñá¬Γ«α
-
- Åα«úαá¼¼á, »α¿óÑñÑ¡¡á∩ ¡¿ªÑ , óδ»«½¡∩ÑΓ ¬«¼á¡ñπ CHGTEXT ñ½∩ «ß-
- ¡«ó¡«ú« αÑñá¬Γ¿α«óá¡¿∩ ΓѬßΓ«ó. Ä¡á ñ«»π߬áÑΓ, τΓ« óδ «í«º¡áτáÑΓÑ
- "new string" (¡«óá∩ ßΓ᫬á), τΓ«íδ Ñε ºá¼Ñ¡¿Γ∞ ó ¬áªñ«¼ ß½πτáÑ ßΓá-
- απε ßΓ᫬π ("old string"), ¬«Γ«αá∩ «í¡áαπªÑ¡á ó óδíαá¡¡«¼ ΓѬßΓÑ.
- éδ ¼«ªÑΓÑ ½Ñú¬« αáßΦ¿α∩Γ∞ φΓ« , τΓ«íδ ½εí«⌐ ΓѬßΓ »« óáΦѼπ ªÑ½á¡¿ε αÑ-
- ñá¬Γ¿α«óá½ß∩ .
-
- ; 꺼ѡѡ¿Ñ »«ñßΓ᫬¿ ó óδíαá¡¡«¼ ΓѬßΓ«ó«¼ »α¿¼¿Γ¿óÑ
-
- (defun C:CHGTEXT (/ p l n e os as ns s nsl osl sl si chf chm)
- (setq p (ssget)) ; éδíÑα¿ΓÑ «íΩѬΓδ
- (if p (progn ; àß½¿ ½εíδÑ «íΩѬΓδ óδíαá¡δ...
- (setq osl (strlen (setq os (getstring "\nOld string: "t))))
- (setq nsl (strlen (setq ns (getstring "\nNew string: "t))))
- (setq l 0 chm 0 n (sslength p))
- (while (< l n) ; ä½∩ ¬áªñ«ú« óδíαá¡¡«ú« «íΩѬΓá...
- (if (= "TEXT" ; 漫Γα¿ Γ¿» »α¿¼¿Γ¿óá ÆàèæÆ (úαπ»»á 0)
- (cdr (assoc 0 (setq e (entget (ssname p l))))))
- (progn ; Äí¡áαπªÑ¡ «ñ¿¡... ß¼«Γα¿ ßΓáαπε ßΓ᫬π
- (setq chf nil si 1)
- (setq s (cdr (setq as (assoc 1 e))))
- (while (= osl (setq sl (strlen
- (setq st (substr s si osl)))))
-
-
-
-
- - 80 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (if (= st os) (progn
- (setq s (strcat (substr s 1 (1 si)) ns
- (substr s (+ si ost))))
- (setq chf t) ; Äí¡áαπªÑ¡á ßΓáαá∩ ßΓ᫬á
- ))
- (setq si (1+ si))
- )
- (if chf (progn ; çá¼Ñ¡¿Γѽ∞ ¡«ó«⌐ ßΓ᫬¿ ¡á ßΓáαπε
- (setq e (subst (cons 1 s) as e))
- (entmod e) ; ÆÑ¬ßΓ«óδ⌐ »α¿¼¿Γ¿ó
- (setq chm (1+ chm))
- ))
- )
- )
- (setq l (1+ l))
- )
- ))
- (princ "Changed") ; ÅÑτáΓ∞ »«½¡«ßΓ∞ε ¿º¼Ñ¡Ñ¡¡δσ ½¿¡¿⌐
- (princ chm)
- (princ " text lines.")
- (terpri)
- )
-
- çñÑß∞, ¡áí«α óδí«αá É (selÑßtion -set P) ¿ßß½ÑñπÑΓß∩ ñ½∩ »α¿¼¿Γ¿-
- ó«ó ΓѬßΓá , ß«ñÑαªáΘ¿σ ó ßÑíÑ ß»Ñµ¿Σ¿µ¿απѼπε ßΓáαπε ßΓ᫬π( "old
- string"). ä½∩ ¬áªñ«ú« »«ñ«íαá¡¡«ú« »α¿¼¿Γ¿óá ΓѬßΓá, Σπ¡¬µ¿¿ STRCAT ¿
- SUBSTR «íδτ¡« Σ«α¼¿απεΓ ¡«óπε ΓѬßΓ«óπε ßΓ᫬π, ¬«Γ«αá∩ ó« óßÑσ ß½πτá∩σ
- ºá¼Ñ¡∩ÑΓ ßΓáαπε ßΓ᫬π (old string) ¡á ¡«óπε ßΓ᫬π ( new string). êß»«-
- ½∞ºπ∩ SUBST,óδ »«ßΓα«¿ΓÑ ¡«óπε ßΓ᫬π, ºá¼Ñ¡∩εΘπε úαπ»»π 1 ó ΓѬßΓ«ó«¼
- »α¿¼¿Γ¿óÑ, ¿ ºáΓѼ «íδτ¡« ENTMOD «Γ¬«ααÑ¬Γ¿απÑΓ »α¿¼¿Γ¿ó ó íáºÑ ñá¡¡δσ
- τÑαΓÑªá ¿ ¡á φ¬αá¡Ñ.
-
-
- 5. 8. 5. Äí¡«ó½Ñ¡¿Ñ ñá¡¡δσ
-
- æτ¿Γá⌐ΓÑ, »« ß«ú½áΦÑ¡¿ε ,τΓ« óδ óßΓáó½∩ÑΓÑ í½«¬, ¡áºδóáѼδ⌐
- "TITLE", ó ¬áªñδ⌐ τÑαΓѪ ¿ , τΓ« φΓ«Γ í½«¬ ¿¼ÑÑΓ áΓΓα¿íπΓδ , ¡áºδóáѼδÑ
- "REVDATE",¬«Γ«αδÑ «º¡áτáεΓ ñá¡¡δÑ »«ß½Ññ¡Ñ⌐ αÑ󿺿¿. æ½ÑñπεΘá∩ »α«úαá¼¼á
- óδ»«½¡∩ÑΓ ¬«¼á¡ñπ REVISE, ¬«Γ«αá∩ «í¡áαπª¿óáÑΓ φΓ«Γ í½«¬ ¿ ¬«ααÑ¬Γ¿απÑΓ
- Ñú« áΓΓα¿íπΓδ. æ¡áτá½á «»αÑñѽ∩ÑΓß∩ »áαá Σπ¡¬µ¿«¡á½∞¡δσ πΓ¿½¿Γ.
-
- ; éó«ñ ΓѬπΘ¿σ ñá¡¡δσ ó Σ«α¼áΓÑ MM/DD/YY
-
- (defun mmddyy (/ x)
- (setq x (getvar "CDATE")) ; ÆÑ¬πΘ¿Ñ ñá¡¡δÑ
- (setq x (rtos x 2 0)) ; ÄíαáΘÑ¡¿Ñ ¬ ßΓ᫬Ñ
- (setq date (strcat (substr x 5 2) "/" ;MM
- (substr x 7 2) "/" ;DD
- (substr x 3 2))) ;YY
- )
-
- ; 髺óαáΓ ß«ñÑαªá¡¿∩ »α¿¼¿Γ¿óá »«½∩ "num"
-
- (defun fld (num)
- (cdr (assoc num d))
- )
-
-
-
-
- - 81 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
- ; Å«¿ß¬ áΓΓα¿íπΓ«ó REVDATE ó í½«¬Ñ TITLE ¿ «í¡«ó½Ñ¡¿Ñ
-
- (defun C:REVISE (/ e d date done)
- (setq done nil)
- (setq e (entnext) ; ÅÑαóδ⌐ «íΩÑ¬Γ ó τÑαΓѪÑ
- (while e
- (setq d (entget e) ; Å«½πτÑ¡¿Ñ úαπ»» ñá¡¡δσ
- ; »α¿¼¿Γ¿óá
-
- (if (and (= (fld 0) "INSERT") ; ê¼ÑÑΓß∩ ½¿ INSERT ?
- (= (fld 2) "TITLE") ; ... ¿¼∩ TITLE?
- (= (fld 66) 1)) ; ... ÇÆÆÉêíôÆ¢?
- (progn
- (setq e (entnext e)) ; Å«½πτÑ¡¿Ñ »«ñ»α¿¼¿Γ¿óá
- (áΓΓα¿íπΓá)
- (while e
- (setq d (entget e)) ; Å«½πτÑ¡¿Ñ »«ñ»α¿¼¿Γ¿ó«ó
- ; úαπ»» ñá¡¡δσ
- (cond ((and (= (fld 0) "ATTRIB") ; ê߬áΓ∞
- (= (fld 2) "REVDATE")) ; ÇΓΓα¿íπΓδ
- ; REVDATE
- (mmddyy)
- (setq d (subst (cons 1 date) (assoc 1 d))
- ; ì«óδÑ ñá¡¡δÑ
-
- (entmod d) ; 꺼ѡѡ¿Ñ áΓΓα¿íπΓ«ó
- ; »ÑαѼѡ¡δσ
- (entupd e) ; ÉÑúÑ¡Ñαᵿ∩ í½«¬á
- (setq e nil done T)) ; ü뫨 óδ»«½¡Ñ¡δ
- ((= (fld 0) "ENDSEQ")
- (setq e nil)) ; ìÑΓ áΓΓα¿íπΓ«ó REVDATE;
- ; «ßΓá¡«ó ߬᡿α«óá¡¿∩
- (T (setq e (entnext e))) ; éó«ñ ß½ÑñπεΘÑú«
- ; »«ñ»α¿¼¿Γ¿óá
- )
- )
- )
- (setq e (entnext e)) ;ìÑΓ í½«¬á TITLE, óσ«ñ
- ; ß½ÑñπεΘÑú« »α¿¼¿Γ¿óá
- )
- )
- (if done "Revision date updated" "No REVDATE attribute found")
- )
-
- 諼á¡ñá REVISE »α«óÑα∩ÑΓ úαπ»»π 0 ( Γ¿» »α¿¼¿Γ¿óá) ¬áªñ«ú« »α¿¼¿-
- Γ¿óá ó τÑαΓÑªÑ , »α«ß¼áΓα¿óá∩ π»«¼¿¡áѼδ⌐ í½«¬ ( Σµ¡¬µ¿∩ INSERT), ¬«Γ«-
- αδ⌐ ¡áºóá¡ " TITLE". çáΓѼ «¡á ߬᡿απÑΓ »«ñ»α¿¼¿Γ¿óδ φΓ«ú« í½«¬á (Ñú«
- áΓΓα¿íπΓδ), »α«ß¼áΓα¿óá∩ áΓΓα¿íπΓδ "REVDATE". Äí¡áαπªÑ¡¡á∩ »ÑαѼѡ¡á∩
- áΓΓα¿íπΓ«ó ¿º¼Ñ¡¿Γß∩ ¿ í½«¬ óóÑñÑΓß∩.
-
-
- 5. 8. 6. 滿߫¬ Γ¿»«ó ½¿¡¿⌐
- :
- ¥Γ«Γ »α¿¼Ñα ¿ß»«½∞ºπÑΓ Σπ¡¬µ¿¿ ñ«ßΓπ»á ¬ Γáí½¿µÑ ß¿¼ó«½«ó, τΓ«íδ :
- ó¡ÑßΓ¿ ó ß»¿ß«¬ ¿¼Ñ¡á ¿ «»αÑñѽѡ¿∩ óßÑσ ΓѬπΘÑ-ºáúαπªÑ¡¡δσ Γ¿»«ó ½¿¡¿⌐.:
-
-
-
-
- - 82 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- :
- :
- ; ÅπßΓá∩-»«½¡á∩ ñá¡¡á∩ ßΓ᫬á ,¬«Γ«αá∩ «»αÑñѽ∩ÑΓ ¬«½¿τÑßΓó« :
- ; º¡á¬«ó. :
- :
- (defun strfill (s len) :
- (substr (strcat s " ") 1 len) :
- ) :
- ; 髺óαáΓ »ÑαѼѡ¡«⌐ , ßó∩ºá¡¡«⌐ ß «Γñѽ∞¡«⌐ úαπ»»«⌐ »α¿¼¿Γ¿óá :
- :
- (defun fld (num lst) :
- (cdr (assoc num lst)) :
- :
- ; 滿߫¬ ºáúαπªÑ¡¡δσ Γ¿»«ó ½¿¡¿⌐ :
- :
- (defun C:LTYPES (/ a cl d f lt s x) :
- (textscr) ; éδó«ñ ΓѬßΓá ¡á φ¬αá¡ :
- (write line " Linetype Align Segs Description") :
- (terpri) :
- (setq cl (getvar "CELTYPE") f " ") ; ÆÑ¬πΘ¿⌐ Γ¿» ½¿¡¿¿, :
- ; "αÑú¿ßΓα" Σ½áª¬á :
- :
- ; àß½¿ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿ "BYLAYER", ß»αáó∞ß∩ « ΓѬπΘѼ πα«ó¡Ñ :
- ; Åα«óÑßΓ¿ ½¿¡¿ε ¿ ¿º¼Ñ¡¿Γ∞ "αÑú¿ßΓα" Σ½áª¬á ß"" ¡á "L" :
- :
- (setq cl :
- (cond ((= cl "BYBLOCK") "") :
- ((= cl "BYLAYER") (setq f "L ") :
- (fld 6 (tblsearch "LAYER" (getvar "CLAYER")))) :
- (T cl) :
- )) :
- (setq x (tblnext "LTYPE" T)) ; ÅÑαóδ⌐ Γ¿» ½¿¡¿¿ :
- (while x :
- (setq lt (fld 2 x) ; ê¼∩ Γ¿»á ½¿¡¿¿ :
- d (fld 3 x) ; Åα«ßΓ«Ñ «»¿ßá¡¿Ñ Γ¿»á :
- ; ½¿¡¿¿ :
- a (fld 72 x) ; éδαáó¡Ñ¡¡δ⌐ ¬«ñ :
- s (fld 73 x) ; 使¡á ¬áªñ«ú« ΦΓα¿σá :
- :
- ) :
- (write line :
- (strcat :
- (if (=lt cl) f " ") ; ÉÑú¿ßΓα Σ½áª¬á »α¿¼¿- :
- ; Γ¿óá ½¿¡¿¿ :
- (strfill lt 12) ; ÉÑñá¬Γ«α ¿¼Ñ¡¿ :
- ; πα«ó¡∩ :
- (strfill (chr a) 7) ; éδαáó¡Ñ¡¡δ⌐ ¬«ñ :
- (strfill (itoa s) 6) ; 使¡á τÑαΓ«τ¬¿ :
- ; φ½Ñ¼Ñ¡Γ«ó :
- (substr d 1 30) ; Ä»¿ßá¡¿Ñ Γ¿»á ½¿¡¿¿ :
- )) :
- (if (> s 0) (progn ; àß½¿ ½εí«⌐ «Γñѽ∞¡δ⌐ :
- ;φ½Ñ¼Ñ¡Γ,αÑñá¬Γ¿απ⌐ΓÑ Ñú« :
- (setq x (member (assoc 49 x) x)) ; éóÑñ¿ΓÑ ß»¿ß«¬ ¬áªñ«ú« :
- ; φ½Ñ¼Ñ¡Γá :
- (while x :
-
-
-
-
- - 83 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (setq s (cdar x)) ; éóÑñ¿ΓÑ ñ½¿¡π ΦΓα¿σá :
- (write line :
- (strcat :
- (strfill " " 27) :
- (cond ((= s 0) "Dot") :
- ((> s 0) (strcat "Pen down" (rtos s 2 4))) ;
- (T (strcat "Pen up" (rtos (abs s) 2:
- 4))) :
- ))) :
- (setq x (cdr x)) ; éóÑñ¿ΓÑ ß½ÑñπεΘ¿⌐ :
- ; φ½Ñ¼Ñ¡Γ :
- ))) :
- (setq x (tblnext "LTYPE")) ; éóÑñ¿ΓÑ ß½ÑñπεΘ¿⌐ :
- ; Γ¿» ½¿¡¿¿ :
- ) :
- (terpri) :
- ) :
- :
- :
- 5. 8. 7. é««íαáªáѼ«Ñ «¬«Φ¬« (ZOOM Window ) :
- :
- ¥Γá »α«úαá¼¼á ¿ß»«½∞ºπÑΓ Σπ¡¬µ¿¿ ¼Ñσá¡¿º¼á ñ«ßΓπ»á, ¬«Γ«αδ⌐ óδ»«-:
- ½¡∩ÑΓ Σá¡Γếε ZOOM Window ( ¼áßΦΓáí ó «¬«Φ¬Ñ), »«ºó«½∩εΘπε óá¼ πßΓá- :
- ¡«ó¿Γ∞ Γα¿úúÑα ¼Ñªñπ »ÑαѼÑΘÑ¡¡δ¼ ¿ ¿º¼Ñ¡Ñ¡¡δ¼ αẼÑα«¼ ó í«¬ßÑ. :
- :
- ; ZOOM Window »«ñ«íÑ¡ ZOOM Dynamic, ¿ß¬½ετáÑΓ óδ»«½¡Ñ¡¿Ñ ¡á ΓÑ- :
- ; ¬πΘѼ ñ¿ß»½ÑÑ íѺ απτ¡«⌐ ¬½áó¿áΓπαδ , ¬α«¼Ñ ¬½áó¿Φ »α«íѽ , :
- ; ó«ºóαáΓ ¿ ¬½áó¿Φ¿ ß« ßΓαѽ¬«⌐. :
- :
- (defun drawbox () ; éδτÑατ¿óá¡¿Ñ í«¬ßá :
- (grdraw ll ul 1) (grdraw ul ur 1) :
- (grdraw ur lr 1) (grdraw lr ll 1) :
- (if (= mode 0) (cenx) (arrow) :
- ) :
- (defun cenx () ; Ä»αÑñѽѡ¿Ñ µÑ¡Γαá ò:
- (grdraw x1 x2 1) (grdraw x3 x4 1) :
- ) :
- (defun arrow () ; éδτÑατ¿óá¡¿Ñ ßΓαѽ«¬:
- (grdraw a1 a4 1) (grdraw a2 a4 1) (grdraw a3 a4 1) :
- ) :
- (defun newbox () ; ÅÑαÑ«»αÑñѽѡ¿Ñ »á- :
- ; αá¼ÑΓα«ó í«¬ßá & :
- ; draw :
- (setq deltay (* deltax aspect)) ; ä«»π߬áÑΓ , τΓ« del- :
- ; tax & íδ½ µÑ¡Γα :
- :
- ; ÅÑαÑπßΓá¡«ó¬á ó í«½ÑÑ óδß«¬¿⌐ πα«óÑ¡∞ :
- (setq xcen (car center) ycen (cadr center)) :
- :
- ; Å«¡¿ªÑ¡¿Ñ/»«óδΦÑ¡¿Ñ X/Y ñ½∩ í«¬ßá : :
- (setq lx (- xcen deltax) ux (+ xcen deltax)) :
- :
- (setq ly (- ycen deltay) uy (+ ycen deltay)) :
- (setq ll (list lx ly) ul (list lx ly)) ; ôú½δ í«¬ßá :
- (setq ur (list ux uy) lr (list ux ly)) :
- :
-
-
-
-
- - 84 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ; Å«óδΦÑ¡¿Ñ/»«¡¿ªÑ¡¿Ñ Y »ÑαѬαÑßΓ¿∩ & ßΓαѽ¬¿ :
- (setq yp (+ ycen arm) ym (- ycen arm)) :
- :
- ; ïÑóδ⌐ ¡á¬½«¡ ßΓαѽ¬¿ :
- (setq al (list (- ux arm) yp) a2 (list (-ux arm) ym)) :
- :
- (setq a3 (list (- ux arm arm) ycen)) ; òó«ßΓ ßΓαѽ¬¿ :
- :
- ; Åαáóδ⌐ ¬«¡Ñµ óßÑσ ΓαÑσ :
- (setq a4 (list ux ycen)) :
- (setq x1 (list (- xcen arm) ym) x2 (list (+ xcen arm) yp)) :
- :
- ; è«¡µδ »« X :
- (setq x3 (list (- xcen arm) yp) x4 (list (+ xcen arm) ym)) :
- (drawbox) :
- ) :
- :
- (defun C:ZW (/ arm aspect center deltax inp loop mode prev :
- pt sourse) :
- :
- ; çá»π߬ ¡á µÑ¡Γα φ¬αá¡á :
- (setq center (getvar "VIEWCTR")) :
- :
- ; Å«»δΓ¬á »ÑαѼÑßΓ¿Γ∞ ¬παß«α ß µÑ¡Γαá :
- (setvar "LASTPOINT" (setq prev center)) :
- :
- (setq aspect (/ (cadr (aetq aspect (getvar "SCREENSIZE"))) :
- (car aspect))) :
- :
- ; êß»«½∞º«óá¡¿Ñ 1/4 í«¬ßá φ¬αá¡á :
- (setq deltax (* 0.25 (getvar "VIEWSIZE"))) :
- :
- ; ÅÑαó«¡áτá½∞¡δ⌐ αѪ¿¼ ñó¿ªÑ¡¿∩ ó í«¬ßÑ :
- (setq arm (* 0.1 deltax) mode 0 loop T) :
- (newbox) :
- (while loop :
- (setq inp grread T)) ; éδσ«ñ »α«ß½ÑªÑ¡¡δ⌐ :
- :
- ; 꺫½¿α«óá¡¿Ñ ¿ßΓ«τ¡¿¬á ¿ # ¿½¿ Γ«τ¬¿ :
- (setq source (car inp) pt (cadr inp)) :
- (cond ((= source 3) ; "Pick"(óδíαáΓ∞) ¬½áó¿ΦÑ⌐? :
- (cenx) (arrow) ; ô¡¿τΓ«ª¿Γ∞ ò & ¡áτÑαΓ¿Γ∞ :
- ; ¿½¿ ñÑΣѬΓδ ¼¡«ú«τ¿ß½Ñ¡¡δ :
- :
- ; Æα¿úúÑα ó αѪ¿¼Ñ í«¬ßá :
- (setq mode (- 1 mode)) :
- :
- ; Å«»δΓ¬á »ÑαѼÑßΓ¿Γ∞ ¬παß«α ß µÑ¡Γαá :
- (setvar "LASTPOINT" center)) :
- ((= source 5)) ; éδ߽Ѫѡ¡á∩ Γ«τ¬á? :
- :
- ; àß½¿ ÑÑ ßñó¿¡πΓ∞... :
- (if (or (/= (car prev) (car pt)) :
- (/= (cadr prev) (cadr pt))) :
- :
- ; 꺼ѡ¿Γ∞ ¿½¿ ßñó¿¡πΓ∞ í«¬ß :
-
-
-
-
- - 85 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- (progn :
- (if (= mode 0) :
- (setq center pt) :
- (setq deltax (+ deltax (- (car pt) :
- (car prev))))) :
- (setq prev pt) :
- (drawbox) ; ôñ὿Γ∞ ßΓáαδ⌐ í½«¬ :
- :
- ; éóÑßΓ¿ ¡«óδ⌐ µÑ¡Γα/αẼÑα ¿ τÑαΓѪ :
- (newbox) :
- ))) :
- ((or (and (= source 6) (= pt 0)) ;lst ¼Ñ¡ε ¬½áó¿Φ(CR):
- (and (= source 2) ; ¿½¿ ¬½áó¿áΓπαá ¿ :
- (or (= pt 13) (= pt 32)))) ; CR ¿½¿ í½á¡¬? :
- (drawbox) ;ôñ὿Γ∞ ßΓáαδ⌐ í«¬ß:
- (command "ZOOM" "W" ll ur) :
- (setq loop nil)) ; éδσ«ñ :
- (T ;ïεíá∩ grread »ÑαѼѡ¡á∩:
- (drawbox) ;ôñ὿Γ∞ ßΓáαδ⌐ í½«¬:
- (setq loop nil a " ^cancel ")) ; éδσ«ñ :
- ) :
- ) :
- ) :
- :
-
- 5. 8. 8. Idle ( αáí«ΓáΓ∞ ó󫽫ßΓπε)
-
- ìᬫ¡Ñµ, φΓ« Γá »α«úαá¼¼á , ¬«Γ«αá∩ ¿½½εßΓα¿απÑΓ Σπ¡¬µ¿¿ »α∩¼«ú«
- óδó«ñá ¡á φ¬αá¡, Γá¬ªÑ ¬á¬ ¿ ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿ " ERROR".
-
- ; 諼á¡ñá IDLE
-
- (defun "ERROR" (s) ; ÄΦ¿í¬á ¡áóÑασπ (¿½¿ CTRL C)
- (redraw) ; ÅÑαÑτÑατ¿óá¡¿Ñ ¡á φ¬αá¡Ñ
- (grtext) ; Å«óΓ«α¡δ⌐ ó맮ó ¼Ñ¡ε/ßΓáΓπß
- ; ΓѬßΓá ¡á φ¬αá¡Ñ
- )
-
- (defun C:IDLE ()
- (setq vc (getvar "viewctr")) ; é맮ó µÑ¡Γαá½∞¡«⌐ Γ«τ¬¿ ¡á
- ; φ¬αá¡
- (setq cx (car vc))
- (setq cy (cadr vc))
- (setq vc (/ (getvar "viewsize") 2))
- (setq xmin (- cx vs)) ; éδτ¿ß½¿Γ∞ ßΓ«α«¡π ¬óáñαáΓá
- (setq xmax (+ cx vs))
- (setq ymin (- cy vs))
- (setq ymax (+ cy vs))
- (setq xdir (/ vs 10) ydir xdir)
- (setq cx (+ cx (* xdir 7)))
- (setq cy (- cy (* ydir 3)))
- (grclear) ; ù¿ßΓδ⌐ úαáΣ¿τÑ߬¿⌐ φ¬αá¡
-
- ; é ßΓáΓπßÑ ßó«í«ñ¡«ú« πτáßΓ¬á
- (grtext -1 " That's entertainment!')
-
-
-
-
-
- - 86 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ; é ¬««αñ¿¡áΓáσ ßó«í«ñ¡«ú« πτáßΓ¬á
- (grtext -2 "Press CANCEL to stop.")
-
- ; ìáí«α ¡áτá½∞¡«⌐ Γ«τ¬¿
- (setq lp (list cx cy))
-
- (while t ; û¿¬½ ¡áóßÑúñá ( ....ñ« CTRL C)
- (setq nx (+ cx xdir)) ; ìáí«α ¬«¡Ñτ¡«⌐ ¬««αñ¿¡áΓδ ò
- (if (or (> nx xmax) (< nx xmin))
- (progn
- (setq xdir (- xdir)) ; æ««ΓóÑΓßΓóπεΘ¿⌐ ¬áΓὫú ò
- (setq nx cx)
- )
- )
- (setq ny (+ cy ydir)) ; ìáí«α ¬«¡Ñτ¡«⌐ Y ¬««αñ¿¡áΓδ
- (if (or (> ny ymax) (< ny ymin))
- (progn
- (setq ydir (- ydir)) ; æ««ΓóÑΓßΓóπεΘ¿⌐ ¬áΓὫú Y
- (setq ny cy)
- )
- )
- (setq cx nx cy ny)
- (grdraw lp (setq lp (list nx ny)) -1) ; éδτÑατ¿óá¡¿Ñ ß"XOR ink"
- )
- )
-
-
-
-
-
- â½áóá 6
-
- ôÅÉÇéïàìêà ÅÇîƒÆ£₧
-
- ¥Γá ú½áóá »α¿¼Ñ¡¿¼á Γ«½∞¬« ¬ ß¿ßΓѼἠMS-DOS/PS-DOS, íẫó묨 ß¿-
- ßΓѼἿ UNIX «¡á ¼«ªÑΓ íδΓ∞ ¿ú¡«α¿α«óá¡á: ó ß¿ßΓÑ¼Ñ UNIX »α«úαá¼¼δ LISP
- ¿ «íΩ±¼ ñá¡¡δσ »αá¬Γ¿τÑ߬¿ ¡Ñ«úαá¡¿τÑ¡δ .
- ÅÑαѼѡ¡δÑ , »«½∞º«óáΓѽ∞߬¿Ñ «»αÑñѽ¿Γѽ¿ ( user- defined) Σπ¡-
- ¬µ¿⌐ ¿ ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿, «»¿ßá¡¡δÑ ó φΓ«¼ απ¬«ó«ñßΓóÑ, óßÑ »«¼ÑΘáεΓ-
- ß∩ ó »á¼∩Γ¿ óáΦÑú« ¬«¼»∞εΓÑαá Γ«½∞¬« ¡á óαѼ∩ ßÑá¡ßá αÑñá¬Γ¿α«óá¡¿∩ ó
- ß¿ßΓÑ¼Ñ AutoCAD. è«úñá AutoLISP ºáúαπªÑ¡ , «¡ ΓαÑíπÑΓ ñ½∩ ßÑí∩ ñóá
- í«½∞Φ¿σ πτáßΓ¬á »á¼∩Γ¿. ÅÑαóδ⌐ , ¡áºδóáѼδ⌐ heap (¿½¿ nodes ), φΓ«
- πτáßΓ«¬ , ¡á ¬«Γ«α«¼ σαá¡∩Γß∩ óßÑ Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ , í«½∞ΦÑ »ÑαÑ-
- ¼Ñ¡¡δσ ¿ Σπ¡¬µ¿⌐ ÑßΓ∞ π óáß (¿ í«½∞ΦÑ ¬«¼»½Ñ¬ß«ó óáΦ¿σ Σπ¡¬µ¿⌐) -í«½∞Φ¿⌐
- heap space ( πτáßΓ«¬ »á¼∩Γ¿) íπñÑΓ ¿ß»«½∞º«óá¡. éΓ«α«⌐ πτáßΓ«¬, ¡áºδ-
- óáѼδ⌐ stack ( ßΓѬ ) , ß«ñÑαª¿Γ áαúπ¼Ñ¡Γδ Σπ¡¬µ¿⌐ ¿ τáßΓ¿τ¡« αѺπ½∞Γá-
- Γδ ; ú½πíªÑ "¬½πí«¬" Σπ¡¬µ¿⌐ ¿½¿ í«½∞ΦÑ »«óΓ«αÑ¡¿⌐ óδ»«½¡Ñ¡¿∩ óáΦ¿σ Σπ¡-
- ¬µ¿⌐ - í«½∞Φá∩ τáßΓ∞ ßΓѬá ( stack space ) ¿ß»«½∞º«óá¡á.
-
- Å« π¼«½τá¡¿ε αẼÑαδ πτáßΓ¬«ó »á¼∩Γ¿:
-
- heap 5.000 bytes
- stack 5.000 bytes
-
- AutoLISP, αáí«Γá∩ ß AutoCAD«¼, ¡Ñ ¼«ªÑΓ ¼Ñ¡∩Γ∞ αẼÑαδ πτáßΓ-
- ¬«ó »á¼∩Γ¿ heap ¿ stack. àß½¿ óδ , óδτ¿ß½∩∩ ñ«ßΓáτ¡« í«½∞Φ«Ñ ¬«½¿τÑßΓó«
-
-
-
-
- - 87 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- Σπ¡¬µ¿⌐ ¿ »ÑαѼѡ¡δσ , ¿ºαáßσ«ñπÑΓÑ óÑß∞ πτáßΓ«¬ »á¼∩Γ¿ heap, AutoLISP
- óδóÑñÑΓ ¡á ñ¿ß»½Ñ⌐ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ:
-
- Insufficient node space
- ìÑñ«ßΓáΓ«τ¡«Ñ node »α«ßΓαá¡ßΓó«
- ¿ ºá¬«¡τ¿Γ óδ»«½¡Ñ¡¿Ñ ΓѬπΘÑ⌐ Σπ¡¬µ¿¿. àß½¿ ¡Ññ«ßΓáΓ«τ¡« »á¼∩Γ¿ , τΓ«íδ
- ºáúαπº¿Γ∞ AutoLISP , ¬«úñá óδ ó AutoCADÑ , ¡á φ¬αá¡ ñ¿ß»½Ñ∩ íπñÑΓ óδ-
- óÑñÑ¡« ß««íΘÑ¡¿Ñ:
-
- Insufficient memory - AutoLISP disabled
- ìÑñ«ßΓáΓ«τ¡« »á¼∩Γ¿ - AutoLISP ¡Ñ󫺼«ªÑ¡
-
- AutoLISP ¡Ñ íπñÑΓ Σπ¡¬µ¿«¡¿α«óáΓ∞ ñ« ΓÑσ »«α, »«¬á »á¼∩Γ∞ ¡Ñ
- íπñÑΓ »αÑñ«ßΓáó½Ñ¡á , ¿ AutoCAD óδ»«½¡¿Γß∩ ß¡«óá.
-
-
- 6. 1. ôßΓá¡áó½¿óáѼδÑ AutoLISP«¼ ΓαÑí«óá¡¿∩ ¬ »á¼∩Γ¿
-
- àß½¿ óδ «»δΓ¡δ⌐ »α«úαá¼¼¿ßΓ ¿ σ«α«Φ« º¡á¬«¼δ ß ¬«¡µÑ»µ¿Ñ⌐ ¿ß»«½∞-
- º«óá¡¿∩ "heap" ¿ "stack" «í½áßΓÑ⌐ »á¼∩Γ¿ ó ∩ºδ¬áσ »α«úαá¼¼¿α«óá¡¿∩ , óδ
- ¼«ªÑΓÑ »« ªÑ½á¡¿ε ¿ß»«½∞º«óáΓ∞ ¬«¼á¡ñπ "SET" ß¿ßΓѼδ DOS, τΓ«íδ »«ß½Ñ
- φΓ«ú« AutoLISP »«½πτ¿½ ñ«ßΓáΓ«τ¡πε »á¼∩Γ∞ ñ½∩ πτáßΓ¬«ó heap ¿
- stack. ìá»α¿¼Ñα, ¬«¼á¡ñδ:
-
- C>SET LISPHEAP=25000
- C>SET LISPSTACK=10000
-
- ú«ó«α∩Γ AutoLISPπ αѺÑαó¿α«óáΓ∞ 25000 íá⌐Γ«ó »á¼∩Γ¿ ñ½∩ πτáßΓ¬á heap,
- ¿ 10000 íá⌐Γ«ó ñ½∩ πτáßΓ¬á stack. Å«½¡δ⌐ «íΩѼ »á¼∩Γ¿ ñ½∩ ñóπσ πτáßΓ¬«ó
- ¡Ñ ñ«½ªÑ¡ »αÑóδΦáΓ∞ 45000 íá⌐Γ.àß½¿ óδ σ«Γ¿ΓÑ,óδ ¼«ªÑΓÑ »«¼ÑßΓ¿Γ∞
- πΓóÑαªñÑ¡¿∩ , »«ñ«í¡δÑ »α¿óÑñÑ¡¡δ¼ óδΦÑ , ó óáΦ Σá⌐½ " autoexec.bat",
- ¿ «¡¿ íπñπΓ óδ»«½¡∩Γ∞ß∩ óßÑúñá , ¬«úñá óδ ó¬½ετáÑΓÑ óáΦ ¬«¼»∞εΓÑα.
- ¥Γ¿ ¬«¼á¡ñδ "SET" φΣΣÑ¬Γ¿ó¡δ Γ«½∞¬« ó AutoLISPÑ , «¡¿ ¡Ñ ∩ó½∩εΓß∩ »α¿-
- τ¿¡«⌐ , Γ«ú«, τΓ« »á¼∩Γ∞ óáΦÑú« ¬«¼»∞εΓÑαá íπñÑΓ "»«ú¿íΦÑ⌐"(" lost "),
- »«¬á AutoLISP ¡Ñ ºáúαπªÑ¡.
-
-
- 6. 2. é«ßßΓá¡áó½¿óáѼ«Ñ NODE SPACE(πτáßΓ«¬ »á¼∩Γ¿ node)
-
- éδ ¼«ªÑΓÑ «í¡áαπª¿Γ∞, τΓ« ¡Ñ¬«Γ«αδÑ ß«ºñá¡¡δÑ óἿ Σπ¡¬µ¿¿ ¿ »Ñ-
- αѼѡ¡δÑ ¡πª¡δ óá¼ Γ«½∞¬« ¡á ¡Ñ¬«Γ«α«Ñ óαѼ∩. è«úñá «¡¿ óá¼ íπ-
- ñπΓ πªÑ ¡Ñ ¡πª¡δ, óδ ¼«ªÑΓÑ φΣΣÑ¬Γ¿ó¡« " ¡Ñ «í¡áαπª¿Γ∞" ¿σ, »α¿ßóá¿óá∩
- ¿¼ º¡áτÑ¡¿Ñ "nil". ìá»α¿¼Ñα, Ñß½¿ óδ ºáúαπº¿½¿ß∞ ¿ ¿ß»«½∞º«ó὿ Σπ¡¬µ¿ε
- ß ¿¼Ñ¡Ñ¼ SETUP , á ñá½∞ΦÑ ó ¡Ñ⌐ ¡Ñ ¡πªñáÑΓÑß∞ , óδ ¼«ªÑΓÑ:
-
- (setq setup nil),
-
- τΓ«íδ ¿ºíáó¿Γ∞ß∩ «Γ ¡ÑÑ. Node (heap) πτáßΓ«¬ »á¼∩Γ¿ , ¿ß»«½∞ºπѼδ⌐ φΓ«⌐
- Σπ¡¬µ¿Ñ⌐ , ó«ßßΓá¡«ó¿Γß∩, ñáóá∩ 󫺼«ª¡«ßΓ∞ ¿ß»«½∞º«óáΓ∞ Ñú« ñαπú¿¼¿
- Σπ¡¬µ¿∩¼¿ ¿ »ÑαѼѡ¡δ¼¿.
- àß½¿ óδ σ«Γ¿ΓÑ »«τ¿ßΓ¿Γ∞(πñ὿Γ∞) óßÑ Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ , ¬«-
- Γ«αδÑ óδ ºáúαπº¿½¿ ¿½¿ «»αÑñѽ¿½¿ ó« óαѼ∩ φΓ«ú« ßÑá¡ßá αÑñá¬Γ¿α«óá¡¿∩,
- φΓ« Γ«ªÑ ½Ñú¬« ¼«ª¡« ßñѽáΓ∞. AutoLISP «íß½πª¿óáÑΓ ß»¿ß«¬ ß ¿¼Ñ¡Ñ¼
- ATOMLIST, ¬«Γ«αδ⌐ »Ñαó«¡áτá½∞¡« ß«ñÑαª¿Γ ¿¼Ñ¡á óßÑσ ß¿ßΓѼ¡δσ ( system-
- defined) Σπ¡¬µ¿⌐ ¿ »ÑαѼѡ¡δσ. ( àß½¿ óδ σ«Γ¿ΓÑ ó¿ñÑΓ∞ Ñú« ß«ñÑαªá¡¿Ñ,
- óóÑñ¿ΓÑ Γ«½∞¬« "!atomlist" ó «ΓóÑΓ ¡á »«ñ߬Ậπ AutoCADá "Command:")
-
-
-
-
- - 88 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- èá¬ Γ«½∞¬« óδ ß«ºñáÑΓÑ ¡«óδÑ Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ , ¿σ ¿¼Ñ¡á ºá¡«ß∩Γß∩
- ó «ú½áó½Ñ¡¿Ñ ATOMLIST. éδ ¼«ªÑΓÑ ¿ºΩ∩Γ∞ ½εí«Ñ ,«í«º¡áτÑ¡¡«Ñ óἿ, ¿º
- Γ«ú« τΓ« ÑßΓ∞ ó «α¿ú¿¡á½Ñ, »αÑαδó᡿Ѽ ATOMLISTá . üπñ∞ΓÑ ó¡¿¼áΓѽ∞¡δ,
- «ñ¡á¬«, ¡Ñ »αÑαδóá⌐ΓÑ ß¿ßΓѼ¡δσ Σπ¡¬µ¿⌐ , ¿¡áτÑ óδ «¬áªÑΓÑß∞ ó Γπ»¿¬Ñ.
-
- àß½¿ óδ »«¼ÑßΓ¿ΓÑ ß½ÑñπεΘπε Σπ¡¬µ¿ε ó óáΦ "acad.lsp" Σá⌐½:
-
- (defun C:CLEAN ()
- (setq atomlist (member 'C:CLEAN atomlist))
- 'DONE
- )
-
- π óáß íπñÑΓ ó«º¼«ª¡«ßΓ∞ óóÑßΓ¿ ¬«¼á¡ñπ CLEAN , óßÑúñá , ¬«úñá óδ σ«Γ¿ΓÑ
- ßñѽáΓ∞ ATOMLIST ᬬπαáΓ¡δ¼ ¿ »«½πτ¿Γ∞ «íαáΓ¡« πτáßΓ«¬ »á¼∩Γ¿ node,
- ¿ß»«½∞ºπѼδ⌐ óßѼ¿ óáΦ¿¼¿ Σπ¡¬µ¿∩¼¿ ¿ »ÑαѼѡ¡δ¼¿. àß½¿ C:CLEAN »«ß½Ññ-
- ¡∩∩ Σπ¡¬µ¿∩ ó óáΦѼ "acad.lsp" Σá⌐½Ñ , Σπ¡¬µ¿¿, ¬«Γ«αδÑ óδ «»αÑñѽ∩ÑΓÑ
- αá¡ÑÑ ó Σá⌐½Ñ, íπñπΓ ß«σαá¡Ñ¡δ , ¬«úñá óδ óóÑñÑΓÑ CLEAN. öπ¡¬µ¿∩ CLEAN
- ßíαáßδóáÑΓ Γ«½∞¬« »«ñ»«ß½Ññ«óáΓѽ∞¡« «»αÑñѽ∩ѼδÑ( subsequently-defined)
- Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ, Γᬿ¼ «íαẫ¼, óßÑ , τΓ« óδ ó " acad.lsp" «»αÑ-
- ñѽ¿½¿ αá¡∞ΦÑ, «íαáí«ΓáÑΓß∩ ¬á¬ ß¿ßΓѼ¡« «»αÑñѽ∩ѼδÑ Σπ¡¬µ¿¿.
-
- çÇÅÄîìêÆà. îÑσá¡¿º¼ ATOMLIST ¡ÑßΓá¡ñáαΓ¡á∩ «ß«íÑ¡¡«ßΓ∞ LISPá ¿
- ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡á ó íπñπΘ¿σ óÑαß¿∩σ AutoLISPá. è Γ«¼π ªÑ, ΓÑσ¡¿-
- ¬á »αÑαδóá¡¿∩ ATOMLISTá ¡Ñ ¼«ªÑ
- Γ íδΓ∞ ¿ß»«½∞º«óá¡á , ¬«úñá ¿¼ÑÑΓß∩
- 󫺼«ª¡«ßΓ∞ ½¿ßΓá¡¿∩ ó¿αΓπá½∞¡δσ Σπ¡¬µ¿⌐. 漫Γα¿ ß½ÑñπεΘ¿⌐ αáºñѽ.
-
-
- 6. 3. é¿αΓπá½∞¡δÑ ßΓαá¡¿τ¡δÑ Σπ¡¬µ¿¿
-
- àß½¿ »α¿¼Ñ¡Ñ¡¿Ñ óáΦÑú« AutoLISPá ßΓá¡«ó¿Γß∩ ß½¿Φ¬«¼ í«½∞Φ¿¼ ,
- τΓ«íδ íδΓ∞ ó»«απ ¿¼ÑεΘѼπß∩ πτáßΓ¬π »á¼∩Γ¿ node (πßΓá¡«ó½Ñ¡¡«¼π »ÑαÑ-
- ¼Ñ¡¡«⌐ SET ó LISPHEAP , ¬á¬ «»¿ßá¡« óδΦÑ), óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
- »Ñαѽ¿ßΓδóáΓѽ∞ ó¿αΓπá½∞¡«⌐ Σπ¡¬µ¿¿ AutoLISPá, τΓ«íδ »«ºó«½¿Γ∞ α«ßΓ óá-
- ΦÑ⌐ »α«úαá¼¼δ. ùΓ«íδ ßñѽáΓ∞ φΓ«, »α«ßΓ« óδ»«½¡¿ΓÑ Σπ¡¬µ¿ε:
-
- (vmon)
-
- »ÑαÑñ »Ñαóδ¼ DEFUN ó óáΦÑ⌐ »α«úαá¼¼Ñ. ¥Γ« »«ºó«½¿Γ ó¿αΓπá½∞¡«⌐ Σπ¡¬µ¿¿
- αáºí¿Γ∞ »á¼∩Γ∞ ¡á ßΓαá¡¿µδ, ñ½∩ «ßΓáΓ¬á ßÑá¡ßá AutoCAD Drawing Editor.
- Äñ¡áªñδ »«ºó«½Ñ¡¡á∩ , Σπ¡¬µ¿∩ αáºí¿Ñ¡¿∩ »á¼∩Γ¿ ¡á ßΓαá¡¿µδ ¡Ñ «Γ¬½ετáÑΓ-
- ß∩. Æ«½∞¬« Σπ¡¬µ¿¿, ß«ºñá¡¡δÑ τÑαѺ Σπ¡¬µ¿¿ DEFUN ,ß½ÑñπεΘ¿Ñ
- ºá Σπ¡¬µ¿Ñ⌐ VMON, »«ñσ«ñ∩Γ ñ½∩ αáºí¿Ñ¡¿∩ »á¼∩Γ¿ ¡á ßΓαá¡¿µδ , á,
- Ñß½¿ π óáß Σπ¡¬µ¿¿ DEFUN »ÑαÑñ VMON , «¡¿ ¡Ñ íπñπΓ αáºí¿óáΓ∞ »á¼∩Γ∞ ¡á
- ßΓαá¡¿µδ ¿ ÑΘÑ ¼«úπΓ óδºóáΓ∞ ¡á ΓÑନ¡á½ ß««íΘÑ¡¿Ñ:
-
- "Insufficient node space" ìÑñ«ßΓáΓ«τ¡« »á¼∩Γ¿ node
-
- Å«ß½Ñ Γ«ú« , ¬á¬ Σπ¡¬µ¿∩ VMON óδ»«½¡¿Γß∩, AutoLISP íπñÑΓ »Ñαѽ¿ß-
- ΓδóáΓ∞ ßΓαá¡¿µδ αÑñ¬« ¿ß»«½∞ºπѼδσ Σπ¡¬µ¿⌐, óß∩¬¿⌐ αẠ¬«úñá «¡¿ ºá-
- »π߬áεΓß∩ ¿º »á¼∩Γ¿, ¿ áóΓ«¼áΓ¿τÑ߬¿ τ¿ΓáΓ∞ ¿σ ß¡«óá, ¬«úñá «¡¿ »«¡áñ«-
- í∩Γß∩. éá¼ ¡Ñ ¡πª¡« íÑß»«¬«¿Γ∞ß∩ «í φΓ«¼ »Ñαѽ¿ßΓδóá¡¿¿,Γᬠ¬á¬ «¡« π»-
- αáó½∩ÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿, ¿ φΓ« ∩ß¡« ¿º óáΦÑ⌐ »α«úαá¼¼δ.¥Γ¿ Σπ¡¬µ¿¿ óαÑ-
- ¼Ñ¡¡« »ÑαѬáτ¿óáεΓß∩ ó Σá⌐½ , τÑαѺ ¬«Γ«αδ⌐ π»αáó½∩ÑΓß∩ Σá⌐½ »Ñαѽ¿ßΓδ-
- óáΓѽ∩ ßΓαá¡¿µ AutoCADá. êΓᬠ, ¬«úñá óδ ¿¼ÑÑΓÑ ñ«ßΓáΓ«τ¡« αáßΦ¿αÑ¡¡πε
- ¿½¿ »α«ñ½Ñ¡¡πε »á¼∩Γ∞, «íδτ¡« φΓá »á¼∩Γ∞ íπñÑΓ »ÑαѬáτ¿óáΓ∞ Σπ¡¬µ¿¿ ¿
-
-
-
-
- - 89 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- óδñáßΓ αѺπ½∞ΓáΓ ¡á¼¡«ú« íδßΓαÑÑ , τѼ ßó«»¿¡ú(»ÑαѬáτ¬á)¡á ñ¿ß¬.
- çừ¼¡¿ΓÑ, τΓ« ß¿ßΓѼá ß ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε Γ«½∞¬« ½¿ßΓáÑΓ Σπ¡¬-
- µ¿¿: «ñ¡á¬«, óδ ñ«½ª¡δ ¿¼ÑΓ∞ ñ«ßΓáΓ«τ¡δ⌐ πτáßΓ«¬ node »á¼∩Γ¿ ñ½∩ αẼÑ-
- ΘÑ¡¿∩ óßÑσ ß»¿ß¬«ó (data lists) , ¿ß»«½∞ºπεΘ¿σß∩ ó óáΦÑ⌐ »α«úαá¼¼Ñ, á
- Γá¬ªÑ Σπ¡¬µ¿⌐ ¿ ¿¼Ñ¡ »ÑαѼѡ¡δσ. æ½Ññ«óáΓѽ∞¡«, σ«Γ∩ ½¿ßΓá¡¿Ñ ßΓαá¡¿µ
- »«ºó«½∩ÑΓ »α«ú¡áΓ∞ í«½∞Φπε »α«úαá¼¼π ß« ¼¡«ú« ¼Ñ¡∞ΦÑ⌐ »á¼∩Γ∞ε, óδ ,«ñ¡á-
- ¬«, ñ«½ª¡δ πßΓá¡«ó¿Γ∞ «»Γ¿¼á½∞¡δ⌐ αẼÑα πτáßΓ¬á heap ¿ ¡áí«α LISPHEAP
- ß««ΓóÑΓßΓóÑ¡¡«. Æ« ªÑ ßá¼«Ñ «Γ¡«ß¿Γß∩ ¬ αẼÑαπ πτáßΓ¬á stack ¿ ¬ ¡áí«-
- απ LISPSTACK »α¿ αáí«ΓÑ ß ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε.
-
-
- ÆÑσ¡¿τÑ߬¿Ñ ºá¼Ñτá¡¿∩
-
- æ½ÑñπεΘá∩ ¿¡Σ«α¼áµ¿∩ »«½Ñº¡á Γ«½∞¬« «»δΓ¡δ¼ σá¬Ñαá¼ (»α«úαá¼¼¿ß-
- Γá¼ ) LISPá. ì«ó¿τ¬¿ ¿ ΓÑ, ¬Γ« ¿úαáεΓ, ¬á¬ »αá󿽫, ¼«úπΓ( ¿ ñ«½ª¡δ) ¿ú-
- ¡«α¿α«óáΓ∞ φΓπ ñ¿ß¬πßß¿ε.
-
-
- Å«ß½Ñ Γ«ú« , ¬á¬ Σπ¡¬µ¿∩ VMON óδ»«½¡¿Γß∩, óßÑ Σπ¡¬µ¿¿ DEFUN ºá¡¿-
- ¼áεΓ ¡«óδ⌐ πτáßΓ«¬ node »á¼∩Γ¿, ¡áºδóáѼδ⌐ Γáí½¿µá ßΓαá¡¿µ (page table),
- ó ¡áτá½Ñ ¬áªñ«ú« ß»¿ß¬á Σπ¡¬µ¿¿. ¥Γ«Γ node πτáßΓ«¬ ñ«íáó½∩ÑΓß∩ »ÑαÑñ
- ß»¿ß¬«¼, ß«ñÑαªáΘ¿¼ Σ«α¼á½∞¡δÑ áαúπ¼Ñ¡Γδ. ôτáßΓ«¬ »á¼∩Γ¿ page table node
- ¿ß»«½∞ºπÑΓß∩ ¿ß¬½ετ¿Γѽ∞¡«,¬á¬ »Ñαѽ¿ßΓδóáΓѽ∞ ßΓαá¡¿µ ,¿ ó ½εí«¼ ß½πτáÑ,
- ¿¼ ¡Ñ½∞º∩ ¼á¡¿»π½¿α«óáΓ∞ »«½∞º«óáΓÑ½ε »α«úαá¼¼. öπ¡¬µ¿∩ TYPE ó«ºóαáΘáÑΓ
- PAGETB ó φΓ¿ πτáßΓ¬¿ »á¼∩Γ¿ node.
- è«úñá »α«úαá¼¼á AutoLISP ºáúαπªáÑΓß∩ ¿º πτáßΓ¬á »á¼∩Γ¿ node, ¼Ñ-
- ¡∞ΦÑ óßÑú« ¿ß»«½∞ºπѼá∩ Σπ¡¬µ¿∩ ßíαáßδóáÑΓß∩ ºá»¿ß∞ε ÑÑ ó ßΓαá-
- ¡¿τ¡δ⌐ Σá⌐½ (paging file) , ß«σαá¡∩∩ áñαÑß ßΓαá¡¿τ¡«ú« Σá⌐½á ó Γáí½¿µÑ
- ßΓαá¡¿µ, ¿ «ßó«í«ªñá∩ óÑß∞ πτáßΓ«¬ »á¼∩Γ¿ node, ºá¡¿¼áѼδ⌐ Σπ¡¬µ¿Ñ⌐,
- ß½ÑñπεΘÑ⌐ ºá Γáí½¿µÑ⌐ ßΓαá¡¿µ. é Γáí½¿µÑ ßΓαá¡¿µ ¼áનαπÑΓß∩ Γá Σπ¡¬µ¿∩,
- ¬«Γ«αá∩ ßíα«ΦÑ¡á. è«úñá ßíα«ΦÑ¡¡á∩ Σπ¡¬µ¿∩ óδτ¿ß½Ñ¡á, «¡á ß¡«óá ßτ¿Γδóá-
- ÑΓß∩ ¿º ßΓαá¡¿τ¡«ú« Σá⌐½á( 󫺼«ª¡« «Γ¬áτ¿óá¡¿Ñ ñαπú¿σ Σπ¡¬µ¿⌐) »« »α¿-
- «α¿ΓÑΓπ óδ»«½¡Ñ¡¿∩. è«úñá Σπ¡¬µ¿∩ ß»¿ßá¡á ¿º ßΓαá¡¿τ¡«ú« Σá⌐½á,
- »«ß½ÑñπεΘ¿Ñ «Γ¬áτ¬¿ »α«ßΓ« «ßó«í«ªñáεΓ φëà πτáßΓ«¬ hode »á¼∩Γ¿. ìÑΓ
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ πñá½∩Γ∞ Σπ¡¬µ¿ε , Γᬠ¬á¬ «¡á óßÑúñá »α¿ßπΓßΓóπÑΓ ó Σá⌐½Ñ.
- é AutoLISPÑ Σπ¡¬µ¿¿, ß«ºñá¡¡δÑ ß »«¼«Θ∞ε DEFUN, ∩ó½∩εΓß∩ »α«ßΓ«
- ß»¿ß¬á¼¿, ¿ ¿¼¿ ¼«ª¡« ¼á¡¿»π½¿α«óáΓ∞ ¬á¬ ß« ß»¿ß¬á¼¿. Åα«úαá¼¼δ , ¬«Γ«αδÑ
- ñѽáεΓ φΓ« , ñ«½ª¡δ íδΓ∞ «ßóÑñ«¼½Ñ¡δ «í «»Ñαᵿ¿ »Ñαѽ¿ßΓδóá¡¿∩ ßΓαá¡¿µ
- ( ¿½¿ ¡Ñ »α¿¼Ñ¡∩⌐ΓÑ VMON). ÅαѪñÑ óßÑú«,Σπ¡¬µ¿¿, ß«ºñáóáѼδÑ ß »«¼«Θ∞ε
- Σπ¡¬µ¿¿ DEFUN, ¿¼ÑεΓ ó ¡áτá½Ñ πτáßΓ«¬ »á¼∩Γ¿ node Γáí½¿µδ ßΓαá¡¿µ ( page
- table), ΓᬠτΓ« , óδ ñ«½ª¡δ »ÑαÑ߬«τ¿Γ∞ Ñú«, Ñß½¿ íπñÑΓÑ ß¬á¡¿α«óáΓ∞ Σπ-
- ¡¬µ¿ε. àß½¿ óδ ß«ºñáÑΓÑ Σπ¡¬µ¿ε ßἿ ñ½∩ ßÑí∩ , ¬á¬ ß»¿ß«¬( «íσ«ñ∩
- DEFUN), «¡á íπñÑΓ αáí«ΓáΓ∞ »αѬαáß¡«,¡« «¡á ¡Ñ »«ñ«⌐ñÑΓ ñ½∩ ßó«»¿¡úá
- ( »ÑαѬáτ¿óá¡¿∩) , »«φΓ«¼π óδ ¼«ªÑΓÑ ½Ñú¬« ºá»πßΓ¿Γ∞ ÑÑ ¿º »á¼∩Γ¿,
- Ñß½¿ óá¼ φΓ« πñ«í¡ÑÑ. ìá«í«α«Γ, óδ ¼«ªÑΓÑ »«¼ÑßΓ¿Γ∞ Σπ¡¬µ¿ε
- ó »á¼∩Γ∞ , »ÑαÑ«»αÑñѽ∩∩ ÑÑ íѺ Γáí½¿µδ ßΓαá¡¿µ. ìá»α¿¼Ñα, τΓ«íδ »«¼Ñß-
- Γ¿Γ∞ Σπ¡¬µ¿ε, «»αÑñѽѡ¡πε DEFUN«¼ ß ¿¼Ñ¡Ñ¼ ZORP,ó »á¼∩Γ∞,óδ ñ«½ª¡δ ¿ß-
- »«½∞º«óáΓ∞:
-
- (setq zorp (cdr zorp))
- τΓ«íδ πñ὿Γ∞ »α¿¼Ñ¡Ñ¡¿Ñ Γáí½¿µδ ßΓαá¡¿µ. Æáí½¿µδ ßΓαá¡¿µ »ÑτáΓáεΓß∩ »α«-
- ßΓ« ¬á¬ »α«íѽ , ¬«úñá óδ ¿ß»«½∞ºπÑΓÑ Σπ¡¬µ¿ε PRINT. éδ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞,
- ¬«úñá Σπ¡¬µ¿∩ »ÑαѬáτ¿óáѼá, »α«óÑα¿ó, ¿¼ÑÑΓß∩ ½¿ »α«íѽ »«ß½Ñ »Ñαó«⌐
- ½Ñó«⌐ ߬«í¬¿: Ñß½¿ Γᬠ, «¡á »ÑαѬáτ¿óáѼá.
- àß½¿ óδ »δΓáÑΓÑß∞ ߬᡿α«óáΓ∞ Σπ¡¬µ¿ε, ¬á¬ ñá¡¡δÑ, ¿ «Γ¬áτ¿-
- óáΓ∞ ÑÑ, óδ ñ«½ª¡δ ¡á⌐Γ¿ Γ«½∞¬« Γáí½¿µπ ßΓαá¡¿µ ó ß»¿ß¬Ñ Σπ¡¬µ¿¿. Åα«σ«ñ-
-
-
-
-
- - 90 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- ¡á∩ Σπ¡¬µ¿∩ ¡Ñ íπñÑΓ »ÑαѬáτÑ¡á- Γ«½∞¬« óδτ¿ß½¿óΦ¿ ÑÑ, ¼«ª¡« ßñѽáΓ∞ φΓ«.
- êΓá¬, Ñß½¿ óδ ß«ºñáÑΓÑ Σπ¡¬µ¿¿ ¿ ¼«ñ¿Σ¿µ¿απÑΓÑ ¿σ ß σ¿Γα«ßΓ∞ε, «αúá¡¿ºπ⌐-
- ΓÑ ¿σ ¬á¬ ß»¿ß¬¿ , ó¼ÑßΓ« ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿¿ DEFUN, ¿½¿ ¿ß»«½∞ºπ⌐ΓÑ
- Γαε¬,»α¿óÑñÑ¡¡δ⌐ óδΦÑ, τΓ«íδ »«¼ÑßΓ¿Γ∞ ¿σ ó »á¼∩Γ∞.
- 滿߫¬ ß¿¼ó«½«ó, ¿ºóÑßΓ¡δσ AutoLISPπ, ¡áºδóáÑΓß∩ ATOMLIST. àßΓ∞
- 󫺼«ª¡«ßΓ∞ σ¿Γα«⌐ »α«úαá¼¼Ñ ¼á¡¿»π½¿α«óáΓ∞ φΓ¿¼ ß»¿ß¬«¼, τΓ«íδ ¿ß»αáó¿Γ∞
- »α«íѽ ¿½¿ ߬᡿α«óáΓ∞ óßÑ ß¿¼ó«½δ. ( èᬠ«Γ¼ÑτÑ¡« ó »αÑñδñπΘÑ⌐ ú½áóÑ,
- φΓ« ¡Ñ ßΓá¡ñáαΓ¡á∩ «ß«íÑ¡¡«ßΓ∞ LISPá, ¿ «¡á ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡á ó íπñπ-
- Θ¿σ óÑαß¿∩σ AutoLISPá.) è«úñá Σπ¡¬µ¿∩ «Γ¬áτ¿óáÑΓß∩ , «¡á »αÑ«íαá-
- ºπÑΓß∩ ó »πΓ¿ , φΓ« »αÑñ»«½áúáÑΓ τΓ« ATOMLIST, ¡Ñ íπñÑΓ ¿º¼Ñ¡Ñ¡ ñ« ΓÑσ
- »«α, »«¬á Σπ¡¬µ¿∩ ¡Ñ «Γ¬áτáÑΓß∩ ( Ñß½¿ αáºí¿Ñ¡¿∩ »á¼∩Γ¿ ¡á ßΓαá¡¿µδ ¡ÑΓ
- ¡á φΓ«¼ »πΓ¿, Σπ¡¬µ¿∩ ºá¡¿¼áÑΓ ú«αáºñ« í«½∞ΦÑ ¼ÑßΓá ¡á ñ¿ß¬Ñ ¿ ¿ñÑΓ ó
- »∩Γ∞ αẠ¼Ññ½Ñ¡¡Ñ⌐). ùΓ«íδ íδΓ∞ πóÑαÑ¡¡δ¼ , τΓ« ATOMLIST ¡Ñ ¿º¼Ñ¡¿Γß∩,
- ¬«úñá ½¿ßΓá¡¿Ñ ñÑ⌐ßΓó¿Γѽ∞¡« ¿¼ÑÑΓß∩, ñ«ßΓπ» ¬ ATOMLISTπ í½«¬¿απÑΓß∩
- »ÑαѼÑΘÑ¡¿Ñ¼ ATOMLISTá ¿º ß»¿ß¬á ß¿¼ó«½«ó ,ñ«ßΓπ»¡σ »«½∞º«óáΓѽε. àß½¿
- óδ ¿ß»«½∞ºπÑΓÑ ó¿αΓπá½∞¡πε Σπ¡¬µ¿ε ½¿ßΓá¡¿∩ ßΓαá¡¿µ, «ßΓáó∞ΓÑ ATOMLIST
- ó »«¬«Ñ.
- àß½¿ óδ ñÑ⌐ßΓó¿Γѽ∞¡« σ«Γ¿ΓÑ , τΓ«íδ π óáß í뫨 ¡Ñ»α¿∩Γ¡«ßΓ¿,
- óδ ¼«ªÑΓÑ φΓ« ßñѽáΓ∞. éδ ¼«ªÑΓÑ ß«ºñáΓ∞ ßó«ε ß«íßΓóÑ¡¡πε Σπ¡¬µ¿ε,
- ó¬½ετá∩ Γáí½¿µπ ßΓαá¡¿µ, ¿º ½εí«⌐ ñαπú«⌐ Σπ¡¬µ¿¿. éδ ñ«½ª¡δ »α¿ßó«¿Γ∞
- ATOMLISTπ ß«íßΓóÑ¡¡πε »ÑαѼѡ¡πε ¿ ¿º¼Ñ¡¿Γ∞ ÑÑ »«ß½Ñ Γ«ú« , ¬á¬ AutoLISP
- ßΓáαΓπÑΓ ñ½∩ ½¿ßΓá¡¿∩ ßΓαá¡¿µ. éδ ¼«ªÑΓÑ ñáªÑ »α¿ñπ¼áΓ∞ τΓ«-¡¿íπñ∞ í«-
- ½ÑÑ Γó«ατÑ߬«Ñ ¿ πªáß¡«Ñ. Äñ¡á¬« , Γá¬«Ñ »«óÑñÑ¡¿Ñ ¼«ªÑΓ íδΓ∞ «Γ¼ΘÑ¡«
- αáºαπΦÑ¡¿Ñ¼ óáΦÑ⌐ »α«úαá¼¼δ; φΓ« ¡Ñ ¼«ªÑΓ »«óαÑñ¿Γ∞ AutoLISPπ ¿½¿ Auto-
- CADπ. êΓá¬, Ñß½¿ óδ σ«Γ¿ΓÑ ¡ÑßΓ¿ »«ΓÑα¿, ó»ÑαÑñ.
-
-
-
-
-
- â½áóá 7
-
- æÄÄüÖàìêƒ Äü ÄÿêüèÇò
-
-
- ì¿ªÑ »α¿óÑñÑ¡ ß»¿ß«¬ ß««íΘÑ¡¿⌐ «í «Φ¿í¬áσ, ¬«Γ«αδÑ óδ óαѼ∩ «Γ
- óαѼѡ¿ πó¿ñ¿ΓÑ, ¬«úñá óδ »¿ΦÑΓÑ ¿½¿ óδó«ñ¿ΓÑ Σπ¡¬µ¿¿ AutoLISPá. àß½¿
- Σπ¡¬µ¿∩ "ERROR" «»αÑñÑ½Ñ¡á ¡Ñ »«½∞º«óáΓѽѼ ("ERROR" ßó∩ºá¡á ß nil),
- «Φ¿í¬á ∩ó½∩ÑΓß∩ ßΓá¡ñáαΓ¡«⌐ ᬵ¿Ñ⌐ , Γ«úñá φΓ¿ ß««íΘÑ¡¿∩ óδó«ñ∩Γß∩
- ¡á φ¬αá¡ ñ¿ß»½Ñ∩ ó ó¿ñÑ:
- error: message
- «Φ¿í¬á:ß««íΘÑ¡¿Ñ
- ß½Ññ«¼ ºá »α«ß½ÑªÑ¡¡⌐ Σπ¡¬µ¿Ñ⌐. àß½¿ ßπΘÑßΓóπÑΓ »«½∞º«óáΓѽ∞-«»αÑñѽ¿Γѽ∞
- Σπ¡¬µ¿¿ "ERROR", φΓá Σπ¡¬µ¿∩ , ¡áºδóáѼá∩ ß««íΘÑ¡¿Ñ¼, »α«⌐ñÑΓ Γ«½∞¬« ó
- ¬áτÑßΓóÑ áαúπ¼Ñ¡Γá.
-
-
-
- öπ¡¬µ¿¿, «Γ¬½«¡∩ѼδÑ AutoCAD«¼
-
- Çαúπ¼Ñ¡Γδ »α«σ«ñ∩Θ¿σ ó AutoCAD Σπ¡¬µ¿⌐ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ ( Γᬿσ,
- ¬á¬ Σπ¡¬µ¿¿ GETVAR "NOSUCH" ¿½¿ SETVAR ß Γ«½∞¬« τ¿ΓáÑ¼δ¼¿
- ß¿ßΓѼ¡δ¼¿ »ÑαѼѡ¡δ¼¿), ¿½¿ Σπ¡¬µ¿∩, »ÑαÑσ«ñ∩Θá∩ ßá¼á ó ßÑí∩,
- ¡ÑñÑ⌐ßΓó¿Γѽ∞¡á ó ΓѬπΘѼ ¬«¡ΓѬßΓÑ.
-
-
-
-
-
-
- - 91 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- bad argument type
-
- öπ¡¬µ¿∩ ß¡áíªÑ¡á ¡Ñ¬«ααÑ¬Γ¡δ¼ Γ¿»«¼ áαúπ¼Ñ¡Γá.( ìá»α¿¼Ñα, óδ ¡Ñ
- ¼«ªÑΓÑ óº∩Γ∞ STRLEN ¬á¬ µÑ½«Ñ.)
-
-
- bad association list
-
- 滿߫¬ , «íΩ∩ó½Ñ¡¡δ⌐ Σπ¡¬µ¿Ñ⌐ ASSOC, ¡Ñ ß«ßΓ«¿Γ ¿º "(¡πª¡á∩ ¬½á-
- ó¿Φá ) ß»¿ß¬«ó.
-
-
- bad entmod list
-
- Çαúπ¼Ñ¡Γ, »α«σ«ñ∩Θ¿⌐ ó Σπ¡¬µ¿ε ENTMOD,¿¼ÑÑΓ ¡Ñ»«ñσ«ñ∩Θ¿⌐ óσ«ñ
- ß»¿ß¬á ñá¡¡δσ (ΓᬠªÑ , ¬á¬ ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ ENTGET).
-
-
- bad formal argument list
-
- è«úñá óδτ¿ß½Ñ¡á φΓá Σπ¡¬µ¿∩, AutoLISP πñá½¿Γ ß»¿ß«¬ ¡ÑñÑ⌐ßΓó¿ΓÑ-
- ½∞¡δσ Σ«α¼á½∞¡δσ áαúπ¼Ñ¡Γ«ó. 髺¼«ª¡«, τΓ« Σπ¡¬µ¿∩ ó«óßÑ ¡Ñ ∩ó½∩ÑΓß∩
- Σπ¡¬µ¿Ñ⌐ , á ó ¡Ñ¬«Γ«α«⌐ ßΓѻѡ¿ , ß»¿ß«¬ ñá¡¡δσ.
-
-
- bad function
-
- ÅÑαóδ⌐ φ½Ñ¼Ñ¡Γ ó ß»¿ß¬Ñ -¡ÑñÑ⌐ßΓó¿Γѽ∞¡«Ñ ¿¼∩ Σπ¡¬µ¿¿. 髺¼«ª¡«,
- τΓ« φΓ« ¿¼∩ »ÑαѼѡ¡«⌐ ¿½¿ τ¿ß½«. ¥Γ« ß««íΘÑ¡¿Ñ Γá¬ªÑ ¼«ªÑΓ »«¬áºδóáΓ∞,
- τΓ« ¡áºóá¡¡á∩ Σπ¡¬µ¿∩ ¡Ñ»«ñσ«ñ∩ΘÑ «»αÑñѽѡá- ¡Ñ ºáíδóá⌐ΓÑ ó«ºóαáΘáѼδ⌐
- ß»¿ß«¬ Σ«α¼á½∞¡δσ áαúπ¼Ñ¡Γ«ó.
-
-
- bad list
-
- ìÑ»«ñσ«ñ∩ΘÑ «αúá¡¿º«óá¡ ß»¿ß«¬, ¬«Γ«αδ¼ ß¡áíªÑ¡á Σπ¡¬µ¿∩. ¥Γ« ¼«-
- ªÑΓ ß½πτ¿Γ∞ß∩ , Ñß½¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½« ¡áτ¿¡áÑΓ ñÑß∩Γ¿τ¡á∩ Γ«τ¬á;
- ó Γᬫ¼ ß½πτáÑ óδ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ óóÑñÑ¡¿Ñ 0.
-
-
- Bad node ( »½«σ«⌐ πτáßΓ«¬ »á¼∩Γ¿ node)
-
- ìÑñÑ⌐ßΓó¿Γѽѡ »π¡¬Γ , óßΓαÑτáѼδ⌐ Σπ¡¬µ¿Ñ⌐ TYPE.
-
-
- bad node type in list
-
- ìÑñÑ⌐ßΓó¿Γѽѡ »π¡¬Γ , óßΓαÑτáѼδ⌐ Σπ¡¬µ¿Ñ⌐ FOREACH.
-
-
- bad point argument
-
- ìÑñ«ßΓáΓ«τ¡« «»αÑñѽѡá Γ«τ¬á ( ß»¿ß«¬ ñóπσ ñÑ⌐ßΓó¿Γѽ∞¡δσ τ¿ßѽ)
- »α«σ«ñ∩Θá∩ ó Σπ¡¬µ¿ε , «ª¿ñáεΘπε Γ«τ¬π. üπñ∞ΓÑ ó¡¿¼áΓѽ∞¡δ, ¡Ñ ¡áτ¿¡á⌐ΓÑ
- ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½« ß ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿; ó Γᬫ¼ ß½πτáÑ, óδ ñ«½ª¡δ ¿ß-
- »«½∞º«óáΓ∞ óóÑñÑ¡¿Ñ 0.
-
-
-
-
- - 92 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
-
- bad point value
-
- Æ« ªÑ ßá¼«Ñ ,τΓ« óδΦÑ.
-
-
- bool arg1 <0 or >15
-
- ÅÑαóδ⌐ áαúπ¼Ñ¡Γ Σπ¡¬µ¿¿ BOOLE (üπ½Ñóá Σπ¡¬µ¿∩) ñ«½ª¡« íδΓ∞ µÑ-
- ½«Ñ ¼áªñπ 0 ¿ 15.
-
-
- can't evaluate expression
-
- ¥Γá «Φ¿í¬á ¼«ªÑΓ íδΓ∞ óδºóá¡á ¡Ñ»αáó¿½∞¡δ¼ ¼ÑßΓ«»«½«ªÑ¡¿Ñ¼ ñÑß∩-
- Γ¿τ¡«⌐ Γ«τ¬¿ ¿ ß ñαπú«⌐ ßΓ«α«¡δ, ¡Ññ«ßΓáΓ«τ¡« ßΣ«α¼π½¿α«óá¡¡δ¼ óδαáªÑ¡¿-
- Ѽ.
-
-
- console break
-
- Å«½∞º«óáΓѽ∞ óóѽ CTRL C , ó Γ« óαѼ∩ , ¬«úñá Σπ¡¬µ¿∩ «íαáíáΓδ-
- óá½áß∞.
-
-
- divide by zero
-
- äѽѡ¿Ñ ¡á ¡π½∞ ¡Ñ αáºαÑΦáÑΓß∩.
-
-
- extra right paren
-
- éßΓαÑΓ¿½¿ß∞ «ñ¡¿ ¿½¿ í«½ÑÑ ½¿Φ¡¿Ñ »αáóδÑ ß¬«í¬¿.
-
-
- file not open
-
- Ä»¿ßáΓѽ∞ Σá⌐½á ñ½∩ «»Ñαᵿ¿ óó«ñá-óδó«ñá (I/O) ¡Ñ Γᬫ⌐ , ¬á¬
- π ñ«ßΓπ»¡«ú« Σá⌐½á.
-
-
- Function cancelled ( ß¡¿¼áѼá∩ Σπ¡¬µ¿∩)
-
- Å«½∞º«óáΓѽ∞ ¡áªá½ CTRL C ó «ΓóÑΓ ¡á »«ñ߬Ậπ.
-
-
- function undefined for argument
-
- Çαúπ¼Ñ¡Γá, «í«º¡áτÑ¡¡«ú« ó Σπ¡¬µ¿∩σ LOG ¿½¿ SQRT,¡ÑΓ ó ñ¿á»áº«¡Ñ.
-
-
- function undefined for real
-
- Çαúπ¼Ñ¡Γ Σπ¡¬µ¿¿ ó¼ÑßΓ« µÑ½«ú« τ¿ß½á «í«º¡áτÑ¡ ñÑ⌐ßΓó¿Γѽ∞¡δ¼.
- ìá»α¿¼Ñα, (LSH val 1.2)
-
-
-
-
- - 93 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
-
-
- improper argument
-
- Çαúπ¼Ñ¡Γ ó GCD «Γα¿µáΓѽ∞¡«Ñ τ¿ß½« ¿½¿ ¡«½∞.
-
-
- incorrect number of arguments to a function
-
- 諽¿τÑßΓó« áαúπ¼Ñ¡Γ«ó «»αÑñѽ∩Ѽ«⌐ »«½∞º«óáΓѽѼ Σπ¡¬µ¿¿ ¡Ñ ß««Γ-
- óÑΓßΓóπÑΓ ¬«½¿τÑßΓóπ Σ«α¼á½∞¡δσ áαúπ¼Ñ¡Γ«ó, «íΩ∩ó½Ñ¡¡δσ Σπ¡¬µ¿Ñ⌐ DEFUN.
-
-
- insufficient node space
-
- ìÑñ«ßΓáΓ«τÑ¡ πτáßΓ«¬ »á¼∩Γ¿ node , ñ½∩ Γ«ú« τΓ«íδ ó¼ÑßΓ¿Γ∞ »«ΓαÑí-
- ¡δÑ ñÑ⌐ßΓó¿∩. æ¼. ú½áóπ 6.
-
-
- insufficient string space
-
- ìÑñ«ßΓáΓ«τÑ¡ πτáßΓ«¬ »á¼∩Γ¿ heap , τΓ«íδ ó¼ÑßΓ¿Γ∞ ßΓ᫬π ΓѬßΓá.
- æ¼. ú½áóπ 6.
-
-
- invalid argument
-
- ìÑ»αáó¿½∞¡δ⌐ Γ¿» áαúπ¼Ñ¡Γá ¿½¿ áαúπ¼Ñ¡Γ ó¡Ñ ñ¿á»áº«¡á.
-
-
- invalid character
-
- éδαáªÑ¡¿Ñ ß«ñÑαª¿Γ ¡ÑóÑα¡δ⌐ º¡á¬.
-
-
- invalid dotted pair
-
- Æ«τÑτ¡δÑ »áαδ-φΓ« ß»¿ß¬¿, ß«ñÑαªáΘ¿Ñ ñóá φ½Ñ¼Ñ¡Γá, αáºñÑ-
- ½Ñ¡¡δÑ ¬«¡ßΓαπ¬µ¿Ñ⌐ "space-period-space". éδ ¼«ªÑΓÑ »«½πτ¿Γ∞ φΓ« ß««í-
- ΘÑ¡¿Ñ «í «Φ¿í¬Ñ , Ñß½¿ óδ ¡áτ¿¡áÑΓÑ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½« ß ñÑß∩Γ¿τ¡«⌐
- Γ«τ¬¿; ó Γᬫ¼ ß½πτáÑ óδ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ óóÑñÑ¡¿Ñ 0.
-
-
- LISPSTACK overflow (»ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá )
-
- æΓѬ AutoLISPá »ÑαÑ»«½¡Ñ¡. ¥Γ« »α«¿ßσ«ñ¿Γ ¿º-ºá ταѺ¼Ñα¡«ú«
- »«óΓ«αÑ¡¿∩ Σπ¡¬µ¿¿ ¿½¿ «τÑ¡∞ í«½∞Φ¿σ ß»¿ß¬«ó áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿. Å«»δ-
- Γá⌐ΓÑß∞ πóѽ¿τ¿Γ∞ ßαÑñπ LISPSTACK ñ½∩ »ÑαѼѡ¡δσ.
-
-
- misplaced dot
-
- ¥Γ« ¼«ªÑΓ ¿¼ÑΓ∞ ¼ÑßΓ« , Ñß½¿ ñÑ⌐ßΓó¿Γѽ∞¡«Ñ τ¿ß½« ¡áτ¿¡áÑΓ ñÑß∩-
- Γ¿τ¡á∩ Γ«τ¬á; ó Γᬫ¼ ß½πτáÑ óδ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ óóÑñÑ¡¿Ñ 0 .
-
-
-
-
-
-
- - 94 -
-
- Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩ »« ÇéÆÄïêæÅπ
-
-
- null function
-
- üδ½á ßñѽá¡á »«»δΓ¬á óδτ¿ß½¿Γ∞ Σπ¡¬µ¿ε , ¬«Γ«αá∩ ¿¼ÑÑΓ ¡π½Ñó«⌐
- «»αÑñѽ¿Γѽ∞.
-
-
- quit\ exit abort
-
- ¥Γ« αѺπ½∞ΓáΓ ó맮óá Σπ¡¬µ¿⌐ QUIT ¿½¿ EXIT. ¥Γ¿ Σπ¡¬µ¿¿ ßÑ⌐τáß
- ¡Ñ ¿ß»«½∞ºπεΓß∩ ó AutoLISPÑ.
-
-
- too few argyments
-
- æ½¿Φ¬«¼ ¼á½« áαúπ¼Ñ¡Γ«ó «íΩ∩ó½Ñ¡« ó« óßΓα«Ñ¡¡«⌐ Σπ¡¬µ¿¿
-
-
- too many arguments
-
- æ½¿Φ¬«¼ ¼¡«ú« áαúπ¼Ñ¡Γ«ó «íΩ∩ó½Ñ¡« ó« óßΓα«Ñ¡¡«⌐ Σπ¡¬µ¿¿.
-
-
- unexpected signal nnn
-
- ( Æ«½∞¬« ñ½∩ ß¿ßΓѼδ UNIX) ÄΓ αáí«ΓáεΘÑ⌐ ß¿ßΓÑ¼δ »«½πτÑ¡ ¡Ñ«ª¿-
- ñá¡¡δ⌐ ß¿ú¡á½.
-
-
-