我是疯了还是怎么了。。。。?在学习LISP的开始,我被告知,有一些编码方法可以证明是不稳定的。。。这有时是有效的,有时是无效的。这是处理LISP编程的困难之一,尤其是当我的客户看到该死的东西在工作,然后第二天他们给我一个错误列表,其中包括我前一天刚刚工作的东西。
- (defun slab1 (_Point1 _Point2 _CPoint1 _CPoint2 _Left _Right
- _Up _Down / _h1 _l1 l2
- _pl1 _pl2 _r1
- )
- (command "._CLAYER" "Concrete")
- (command "._PLINE"
- (polar _Point1 _Down (- _afrmdp1 0.4375))
- (polar _Point1 _Down (- slabdp 0.4375))
- (polar (polar _Point1 _Down (- slabdp 0.4375)) _Left 4)
- (polar (polar _Point1 _Down 1.0625) _Left (+ afrmwd 3))
- (polar (polar _Point1 _Left (+ afrmwd 3)) _Up 0.4375)
- (polar (polar _Point1 _Left afrmwd) _Up 0.4375)
- "")
- (setq _pl1 (entlast))
-
- (command "_-boundary" (polar _Point1 _Left (+ afrmwd 2)) "")
- (setq EL (entlast))
- (if (/= EL (entlast))
- (command "_-hatch" "_S" "_L" "" "_P" "AR-CONC" "0.25" "0.0" "")
- ); end if
- (setq _h1 (entlast))
- (entdel EL)
- (entdel _pl1)
- ; DRAW THE TOP OF THE SLAB BACK IN
- (command "._LINE" (polar (polar _Point1 _Left afrmwd) _Up 0.4375)
- (polar (polar _Point1 _Left (+ afrmwd 3)) _Up 0.4375) "")
- (setq _pl1 (entlast))
- ; DRAW THE SIDE AND THE BOTTOM OF THE SLAB BACK IN
- (command "._PLINE" (polar _Point1 _Down (- _afrmdp1 0.4375))
- (polar _Point1 _Down (- slabdp 0.4375))
- (polar (polar _Point1 _Down (- slabdp 0.4375)) _Left 4) "")
- (setq _pl2 (entlast))
- (command "._MIRROR" _pl1 _pl2 _h1 "" _CPoint1 _CPoint2 "")
- (princ)
- ); end slab1
舱口似乎出了问题。我只能假设它的其余部分是有效的,因为当它完成时,有一个漂亮的混凝土舱口,周围留有足够的线来形成板的部分剖视图,或者有一个剖视图,但舱口只是一堆斜线,几乎看起来像是AR-CONC舱口。
我写这篇文章是为了处理图纸的前视图和侧视图。这就是_Up,_Down,等等。。。都是关于。这有多个条件,所以我把它做成了模块。我这样称呼例行程序:
有些时候,它运行得很好。然后我转到代码的另一部分,它调用了几乎相同的例程,但它不起作用。然后我回到5分钟前的第一个程序,它工作得很好,现在它也像第二次尝试一样把舱口搞砸了。
Q: 这是一种长期不稳定的代码吗?还是我只需要去检查一下脑袋? |