乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 16|回复: 3

[编程交流] 圣诞快乐,新年快乐

[复制链接]
rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 15:43:04 | 显示全部楼层 |阅读模式
祝福大家!
 
  1. ; added rescaling to account for Santa's scroll wheel
  2. (defun C:RLXmas (/ inp x- x+ y- y+ ip th x y mtrx mobj dx dy doc title body)
  3. (vl-load-com)(defun *error* (m) (if mobj (vla-delete mobj))(redraw))
  4. (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  5. (alert "\nPress ok to start and any key or Esc to exit")
  6. (setq title "Merry Christmas" body (list "And a happy new year" "\nGrtz RLX"))
  7. (count_calcula)(create_message ip title th body 1 5)
  8. (vla-Regen doc acActiveViewport)
  9. (while (and (not (vl-catch-all-error-p (setq inp (vl-catch-all-apply 'grread (list t)))))
  10.       (not (member (car inp) '(2 3 25))))
  11.    (next_xy) (setq mtrx (vlax-tmatrix (list (list 1 0 0 dx) (list 0 1 0 dy) (list 0 0 1 0) (list 0 0 0 1))))
  12.    (vla-TransformBy mobj mtrx) (vla-Regen doc acActiveViewport)
  13.    (if (/= (getvar "VIEWSIZE") vs)(count_re-calcula) (wait 0.005) )
  14. )
  15. (if mobj (vla-delete mobj))
  16. (vla-Regen doc acActiveViewport)
  17. (princ)
  18. )
  19. (defun count_calcula ()
  20. (setq vc (getvar "VIEWCTR") vs (getvar "VIEWSIZE") ss (getvar "SCREENSIZE") dx (* vs (/ (car ss) (cadr ss)) 0.5) dy (* vs 0.5)
  21. x- (- (car vc) dx) y- (- (cadr vc) dy) x+ (+ (car vc) dx) y+ (+ (cadr vc) dy) ip (getvar "viewctr")
  22. x (car ip) y (cadr ip) th (/ (getvar "VIEWSIZE") 100.0) dx th dy th ))
  23. ; in case Santa has used the scroll-wheel
  24. (defun count_re-calcula () (count_calcula)(if mobj (vla-delete mobj))(create_message ip title th body 1 5))
  25. (defun next_xy ()
  26. (setq x (+ x dx))(cond ((> x x+) (setq dx (- 0 (abs dx))))((< x x-) (setq dx (+ 0 (abs dx)))))
  27. (setq y (+ y dy))(cond ((> y y+) (setq dy (- 0 (abs dy))))((< y y-) (setq dy (+ 0 (abs dy))))))
  28. (defun wait ( sec / stop )(setq stop (+ (getvar "DATE") (/ sec 86400.0)))(while (> stop (getvar "DATE"))))
  29. (defun create_message ( %pnt $tts #th %bsl #bgc atc / msg str fnt elist)
  30. (setq msg (strcat "{\\fArial|b0|i0|c0|p0;\\C3;" $tts "[url="file://\\C7"]\\C7[/url]")) ; green  title, white body
  31. (foreach str %bsl (setq msg (strcat msg "\n" str)))(setq msg (strcat msg "}"))
  32. (setq elist (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(100 . "AcDbMText") (cons 10 %pnt) (cons 1 msg) '(90 . 1)
  33.       (cons 63 #bgc) (cons 40 (/ (getvar "VIEWSIZE") 30.0)) (cons 71 atc) '(72 . 5) '(441 . 0) ))
  34. (setq mobj (vlax-ename->vla-object (entmakex elist)))
  35. )
  36. (C:RLXmas)
RLX级
回复

使用道具 举报

76

主题

312

帖子

254

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
390
发表于 2022-7-5 16:07:41 | 显示全部楼层
圣诞快乐!:-)
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 16:28:13 | 显示全部楼层
美好的圣诞快乐!
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 17:01:46 | 显示全部楼层
圣诞快乐!
 
  1. (
  2. (lambda ( sL / o )
  3.    (vl-catch-all-apply
  4.      '(lambda nil
  5.        (setq o (vlax-create-object "Sapi.SpVoice"))
  6.        (vlax-put o 'SynchronousSpeakTimeout 1)
  7.        (vlax-invoke-method o 'WaitUntilDone 0)
  8.        (foreach s sL (vlax-invoke o "Speak" s 0))
  9.      )
  10.    )
  11.    (vl-catch-all-apply 'vlax-release-object (list o))
  12. )
  13. '("Merry Christmas!" "And a happy new year!")
  14. )
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 21:07 , Processed in 0.437807 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表