自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 SketchUp二次开发之鼠标工具

微信公众号:老顽童与小东邪关注可了解更多的教程及排版技巧。问题或建议,请公众号留言;如果你觉得对你有帮助,欢迎赞赏SketchUp二次开发之鼠标工具在SketchUp中,运用最多的就是鼠标事件,例如工具栏中的直线工具、矩形工具、圆弧工具等操作,都离不开鼠标事件。在日常生活中我们常用鼠标事件有,单击左键,双击左键,右键,中键等。当然在Tool对象中也提供了这些方法。onLButtonDown-按下鼠标左键onLButttonUp-释放鼠标左键onLButtonDoubleClick-双击鼠.

2020-07-04 10:39:02 1442

原创 SketchUp扩展程序规范

微信公众号:老顽童与小东邪关注可了解更多的教程及排版技巧。问题或建议,请公众号留言;如果你觉得对你有帮助,欢迎赞赏规范插件规范插件目录插件示例插件图标lwt_load.rb文件sphere.rb文件工具条效果老顽童与小东邪公众号赞赏老顽童与小东邪下期预告引用规范插件目录在上一章节中我们提到了将插件放在Plugins目录下,我们继续来看看怎么优雅的将自己的代码放在Plugins目录下。我们打开Plugins目录,看看系统默认的插件格式。从个上面这个目录可以看出每个插件.

2020-06-28 09:02:11 845

原创 如何将SketchUp插件添加到菜单栏及工具条

微信公众号:老顽童与小东邪关注可了解更多的教程及编程技巧。问题或建议,请加好友留言;如果你觉得对你有帮助,欢迎赞赏插件目录Plugins我们想要在SketchUp平台上进行二次开发,就要了解它的基本规则。这里我们先来了解下我们插件安装后存放代码的地方,即Plugins文件夹。如图:它被放置在用户目录中,所以只有只有用户安装了插件,在SketchUp菜单栏中才会出现【Extensions】或【扩展程序】菜单。如图:否则看到的是这样的。如图:总之Plugins插件目录对于开发者来说非常重.

2020-06-22 14:35:49 5158

原创 SketchUp-Drawingelement类及子类

微信公众号:老顽童与小东邪关注可了解更多的教程及编程技巧。问题或建议,请加好友留言;如果你觉得对你有帮助,欢迎赞赏Drawingelement类上一章节我们学习了entity类,entity类的主要子类是Drawingelement类。Drawingelement类是我们今后重点学习的类,包括Image、Text、Edge、Face、Group、Component Definition和Component Instance。下面对Drawingelement类做简要说明。Drawingel.

2020-06-20 08:51:51 328

原创 Ruby for SketchUp之Entities对象

微信公众号:老顽童与小东邪关注可了解更多的教程及编程技巧。问题或建议,请加好友留言;如果你觉得对你有帮助,欢迎赞赏Entities对象及Entity类Entities对象SketchUp中的每个几何对象都代表着一个Entitiy类或者它的子类,包括点,线,面,图片,文字,组件和群组。在设计中管理和修改Entity对象,我们需要接入主要设计的Entities容器,主要是对Entity对象进行增加、移动、选择、缩放及删除操作。其操作实例如下:model = Sketchup.active_mo.

2020-06-17 09:05:05 794

原创 SketchUp二次开发模块介绍及使用

微信公众号:老顽童与小东邪关注可了解更多的教程及编程技巧。问题或建议,请加好友留言;如果你觉得对你有帮助,欢迎赞赏SketchUp模块介绍及使用SketchUp模块几乎所有的SketchUp开始都会访问三种基本的数据结构:SketchUp、Model和Entities。当我们明白他们运行原理,就可以开始使用代码来进行SketchUp扩展程序开发了。这里我们来看看第一种数据结构SketchUp,它是一个模块,与我们在编程中接触到的类比较相似。后面我们将讨论模块的详细细节,现在我们只需要知道模块.

2020-06-15 17:32:01 2828

原创 SketchUp Ruby二次开发

微信公众号:老顽童与小东邪关注可了解更多的教程及编程技巧。问题或建议,请添加好友留言;Sketchup Ruby 基础-安装安装环境Ruby下载Ruby安装调试写在最后图片显示安装环境本次教程仅针对windows10系统。Ruby下载对于ruby下载时一定需要注意,必须下载rubyinstaller with devkit版本。因为后期在对sketchup使用代码编辑器进行环境配置时有要求。在下载ruby时,为了更好的兼容sketchup版本建议下载ruby2.4及以上的版本。ruby下...

2020-06-15 16:57:10 1440

原创 ruby 冻结对象

在ruby Object中,freeze方法可以有效地把一个对象变成一个常量。任何对象都可以通过调用Object.freeze进行冻结。冻结对象不能被修改,也就是说,不能改变他的实例变量。可使用Object.frozen?方法检查一个给定的对象是否已经冻结。如果被冻结,该方法将返回true,否则返回一个false值。####冻结对象#####在Object中,freeze方法可有效地把一个对

2017-12-11 16:58:13 1084

原创 Ruby File类实现操作文件系统的方法

1、文件的打开/关闭      通过IO类的子类File类可以进行文件的输入、输出处理。File类中封装了文件的删除、文件属性变更等文件专用的功能,而一些基本的输入输出处理则使用继承自IO类的方法. io = File.open(file, mode) io = open(file, mode)      通过File.open方法或open方法打开文件并获取新的IO对象。模式(

2017-10-28 14:17:24 1193

原创 异常处理

所谓异常,就是以对象的方式表示一个或一类错误,该异常对象不仅封装了错误信息,还包含了错误发生时的“上下文”信息。传统的错误处理方式是,每当程序调用了某个方法进行了某种操作,程序应该立即检查该方法的返回值,判断是否有错误发生。若有错误发生,通常要访问一个全局变量如 err 来获取具体的错误·代码,以得到进一步的错误信息。在Java中,这种传统的处理方式仍然有效,但是Java从c++中继承了以面向对象

2017-07-25 08:30:52 277

原创 Java 内部类

1、成员内部类在一个类中使用内部类,可以在内部类中直接存取其所在类的私有成员变量。成员内部类的语法:public class OuterClass{//外部类 private class InnerClass{//内部类 //…… } }在内部类中可以随意使用外部类的成员方法及成员变量,尽管这些类成员被修饰为private。内部类的实例一定要绑定在外部类的实例上,如果从

2017-07-11 20:45:26 330

原创 Java final类

final 具有“不可改变”的含义,他可以修饰非抽象类、非抽象成员方法和变量。1、用final修饰的类不能被继承,没有子类。2、用final修饰的方法不能被子类的方法重写或隐藏。3、用final修饰的变量表示常量,只能被赋值一次。4、父类中的用private修饰的方法不能被子类的方法重写,因此private类型的方法默认为是final类型的。final类的使用1、不是专门为

2017-07-06 21:44:42 4585

原创 Java 接口

接口是抽象类的延伸,可以将它看作是存粹的抽象类,接口中的所有方法都没有方法体。接口使用interface关键字进行定义,其语法如下:public interface drawTest{void draw();//接口内的方法,省略abstract关键字}public :接口可以像类一样被权限修饰符修饰,但public关键字仅限用于接口在与其同名的文件中被定义。interface

2017-07-02 20:49:33 308

原创 Java 抽象类

通过继承,子类获得父类的变量和方法。在Java中,只声明而没有实现的方法称为抽象方法,其语法规则如下:abstract ([])用abstract修饰的类称为抽象类,其语法如下:[访问修饰符]abstract class {……}抽象类具有以下特性:1):含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被实现。2):抽象类中不是所有的方法都是

2017-07-02 16:16:35 203

原创 Java 多态

利用多态可以使程序具有良好的扩展性,并且可以对所有类对象进行通用处理。package javademo;public class Quadrangle {//实例化保存四边形对象的数组对象private Quadrangle[] qtest = new Quadrangle[6];private int nextindex = 0;public void draw(

2017-07-02 08:06:33 338

原创 Java 方法重载

我们知道构造方法的名称已经由类名决定,所以构造方法只有一个名称,但如果希望以不同的方式来实例化对象,就需要使用多个构造方法来完成。由于这些构造方法都需要根据类名进行命名,为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”。虽然方法重载起源于构造方法,但是它可以应用到其他方法中。        方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型

2017-06-30 22:11:10 191

原创 java instanceof操作符

当程序中执行向下转型操作时,如果父类对象不是子类对象的实例,就会发生ClassCastException异常,所以在执行向下转型之前要判断父类对象是否为子类对象的实例。这个判断通常使用instanceof操作符来完成。可以使用instanceof操作符判断是否一个类实现了某个接口,也可以用它来判断一个实例对象是否属于一个类。instanceof 语法myobject instanceof

2017-06-29 22:26:29 581

原创 Ruby 正则表达式(三)——使用正则表达式的方法

sub方法与gsub方法作用是用指定的字符置换字符串中的某部分字符。sub与gsub方法都有两个参数。第一个参数用于指定希望匹配的正则表达式模式,第二个参数用于指定与匹配部分置换的字符。sub方法只置换首次匹配的部分,而gsub方法则会置换所有匹配的部分。str = "abc def g hi "p str.sub('\s+',' ')p str.gsub('\s+','

2017-06-28 08:34:33 2143

原创 Object 类

在Java中所有类都直接或间接继承了java.lang.Object类。Object类是比较特殊的类,它是所有类的父类,是Java类层中最高的层类。当创建一个类时,总是在继承,除非某个某个类已经指定要从其他类继承,否则它就是从java.lang.Object类继承而来的,可见Java中每个类都源于java.lang.Object类,如String、Interger等类都是继承于Object类;除此

2017-06-27 21:09:37 309

原创 Java 类的继承

继承在面向对象开发思想中是一个非常重要的概念,他使整个程序架构具有一定的弹性,在程序中复用一些已经定义完善的类可以减少软件开发周期,也可以提高软件的可维护性和扩展性。 其·基本思想是基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来父类所不具有的属性和方法,或直接重写父类中的某些方法。Java中使用extends关键字来标识两个类的继承关系。

2017-06-25 20:59:46 235

原创 Ruby 正则表达式(二)

使用quote方法的正则表达式有时候我们想转义正则表达式中所有的元字符。而quote方法就可以实现。quote 方法会返回转义了的正则表达式字符串,然后在结合new方法,就可以生成新的正则表达式对象。re1 = Regexp.new("abc*def")re2 = Regexp.new(Regexp.quote("abc*def"))p (re1 = ~ "abc*def")

2017-06-24 08:46:27 891

原创 Java 对象

对象是由类抽象出来的。在java语言中通过new操作符来创建对象。语法:Test test = new Test()Test test = new Test("a")test 对象被创建出来时,就是对象的一个引用,这个引用在内存中为对象分配了存储空间,也可以在构造方法中初始化成员变量,当创建对象时,自动调用构造方法。每个对象都是相互独立的,在内存中占据独立的内存地址,并且每个对

2017-06-23 20:47:29 233

原创 Java ——静态变量、常量和方法

static修饰的变量、常亮和方法被称为静态变量、常量和方法。被声明为static的变量、常量和方法被称为静态成员。静态成员属于类所有,区别于个别对象,以在本类或其他类类使用类名和“.” 运算符调用静态成员。package javademo;public class StaticTest { static double PI = 3.14; //在类中定义静态变量 static i

2017-06-23 20:12:43 1154

原创 Ruby 正则表达式(一)

正则表达式对象的创建方法在程序中,通过用//将正则表达式模式的字符串括起来,就可以非常简单地创建出正则表达式。另外,我们也可以使用类方法Regexp.new(str)来创建对象。当程序中已经定义了字符串对象str,且希望根据这个表达式来创建正则表达式时,用这个方法比较方便。re =  Regexp.new("Ruby")除了上述两种方法外,与数组字符串一样,我们也可以通过使

2017-06-23 08:51:50 1424

原创 Java 类——构造方法

在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。构造方法的特点如下:构造方法没有返回值。构造方法的名称要与本类的名称相同。在定义构造方法时,构造方法没有返回值,但这与普通没有返回值的方法不同,普通没有返回值的方法使用public void methodE

2017-06-22 21:34:54 538

原创 Java 类——局部变量

在成员方法中定义一个变量,那么这个变量被称为局部变量。局部变量在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。局部变量的有效范围:局部变量的有效范围从该变量的声明开始到该变量的结束为止。

2017-06-21 20:25:25 272

原创 Java 类——权限修饰符

Java 中的权限修饰符主要包括private、public和protected,这些修饰符控制着类和类的成员变量以及成员方法的访问。private:如果一个类的成员变量或成员方法被修饰为private,则该类的成员变量只能在本类中被使用,在子类中是不可见的,并且对其他包的类也是不可见的。public:除了可以在本类中使用这些数据之外,还可以在子类和其他包的类中使用。protected

2017-06-21 19:46:15 796

原创 Java 类——成员方法

在Java中使用成员方法对应于类对象的行为。定义成员方法的语法格式:权限修饰符  返回值类型 方法名(参数类型 参数名){      ....//方法体      return 返回值}一个成员方法可以有参数,这个参数可以是对象也可以是基本数据类型的变量,同时成员方法有返回值和不返回值的选择,如果方法需要返回值可以在方法体中使用return 关键字,使用这个关键字后,方

2017-06-21 08:25:34 785

原创 Java 类 ——成员变量

在Java中对象的属性也称为成员变量。成员变量的类型可以设置为Java中合法数据类型,其实成员变量就是普通的变量,可以为它设置初始值,也可以不设置初始值。/* * 成员变量 */public class Book { private String name;//定义一个String型的成员变量 public String getName(){//定义一个getName()方法 i

2017-06-21 08:18:35 556

原创 java反转排序

反转排序:/* * 反转排序算法实例 */public class ReverseSort { public static void main(String[] args){ int[] array = {64, 3, 5, 2, 32, 34};//创建一个数组 ReverseSort sorter = new ReverseSort();//创建反转排序类的对象 sor

2017-06-19 20:10:24 757

原创 java直接选择排序

直接选择排序:1、基本思想:      直接选择排序的基本思想是将指定排序位置与其它数组元素分别比较,如果满足条件就交换元素值,注意这里区别冒泡排序,不是交换相邻的元素,而是把满足条件的元素与指定的排序位置交换,这样排序好的位置逐渐扩大,最后整个数组都成为已排序好的格式。2、算法:       每一次从带排序的数据元素中选出最大(或最小)的一个元素,顺序地放在已排好序的数列的最后,

2017-06-19 19:35:02 549

原创 java冒泡排序

冒泡排序:1、基本思想      冒泡排序的基本思想是对比相邻的元素,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置)。2、算法      冒泡算法由双层循环实现,其中外层循环用于控制排序轮数,一般为要排序的数组长度减一,而内层循环主要用于对比数组中每个临近元素的大小,以确定是否交换位置,对比和交换次数岁排序轮数而减少。

2017-06-18 10:26:39 198

原创 java数组查询

Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定的数组,以获得指定对象。该方法返回要搜索元素的索引值。binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查询需要。binarySearch()方法有两种参数类型。(1)、binarySearch(Object[], Object key)语法:binarySeach(Object[] a,

2017-06-17 16:18:52 3947

原创 java复制数组

Arrays类的copyOf()方法与copyOfRange()方法可以实现对数组的复制。copyOf()是复制数组至指定长度,copyOfRange()方法将指定数组的指定长度复制到一个新的数组中。(1)、copyOf()方法:语法:copyOf(arr, newlength)arr:要进行复制的数组对象newlength:int型常量,指复制后新数组的长度。如果新数组长度大于数

2017-06-17 15:51:49 1173

原创 java对数组进行排序

通过Arrays类的静态sort()方法可以实现对数组的排序。sort()方法提供了多种重载形式,可对任意类型的数组进行升序排序。import java.util.Arrays;public class Taxis { public static void main(String[] args){ int arr[] = new int[]{23,43,12,8};//声明数组 A

2017-06-17 15:25:14 4195

原创 java填充替换数组元素

数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。fill(int[]a, int fromIndex, int toIndex, int value)a:要进行填充的数组fromIndex:(option)要是用指定值填充的第一个元素索引(包括)toindex:(option)要使用指定值填充的最后一个元素的索引(不包括)value:

2017-06-17 11:28:46 8175

原创 java遍历数组

1、遍历数组就是获取数组中的每个元素。通常遍历数组都是使用for循环来实现。      遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度。 public class Trap { public static void main(String[] args){//主方法 int b[][] = new int[][]{{1},{2,3}

2017-06-17 10:10:38 2119

原创 java字符串分割

使用split()方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将结果存放在字符串数组中。1、split(String sign):该方法可根据给定的分割对字符串进行拆分。语法:str.split(String sign)其中sign为分割字符串的分割符。2、split(String sign,int limit)其中sign分割字符串的分割符,limit限制分割次数。

2017-06-16 08:38:08 704

原创 java字符串大小写转化

toLowerCase()方法将String转换为小写。如果字符串中没有应该被转换的字符,则将原字符串返回,否则返回一个新的字符串。语法:str.toLowerCase()toUpperCase()方法将Srtring转换为大写。如果字符串中没有应该转换的字符,则将原字符串返回,否则返回一个新的字符串。语法:str.toUpperCase()说明:使用toLowerCase()方法

2017-06-15 19:52:27 62994 2

原创 java判断字符串是否相等

对字符串对象进行比较不能简单地使用比较运算符"==",因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址是不同的,使用比较运算符仍然会返回false。实例代码:Srting tom = new String("I am a student");String jerry = new String("I am a student");boole

2017-06-14 08:35:59 1208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除